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.而且使用字节流一般:边读边写,防止内存溢出(当文件很大的时候)。
时间: 2024-10-24 22:11:59