Java IO流学习

来源:互联网 发布:阿里云服务器访问外网 编辑:程序博客网 时间:2024/05/22 09:49

1.File只是针对文件本身进行操作的,如果想对其内容进行操作,需要使用RandomAccessFIle类。(需要接收File类对象,之后进行操作,记得最后close进行关闭)

2.不需要进行随机存取时,就可以使用字节流(InputStream & OutputStream)和字符流(Writer & Reader)

3.文件操作流程:

使用File类打开一个文件;

使用字节流和字符流的子类指定输出位置(因为InputStream与Writer等四个操作类都是抽象类);

执行读&写操作;

关闭文件。

4.字节流:主要是操作byte类型的数据

InputStream(输入) && OutputStream(输出)

进行读写的时候,之间需要进行byte类型转换: byte b[] = str.getBytes();

String str = new String(b);

写入分为:追加与覆盖两种,在OutputStream实例化的时候由参数确定。

5.字符流:可以直接输出字符串,不用进行格式转换了

Reader(读入、输入) && Writer(输出,写入文件)

6.两者区别:

字符流会用到缓冲区(文件关闭的时候,会将缓冲区内容写入文件,或者主动使用flush()方法进行缓冲区清空操作。);字节流直接对文件本身进行操作,不会用到缓冲区;

7.一般使用字节操作较多,字符是只有在内存中才会形成的,所以使用字节的操作是最多的。

8.而且使用字节流一般:边读边写,防止内存溢出(当文件很大的时候)。

 

0 0
原创粉丝点击