I/O流
- 字节流: 可以读写一切文件,即以二进制形式读写,相关的类:File, FileInputStream, FileOutputStream, BufferedInputStream, BufferedOutputStream
- 字符流:只能读写纯文本文件,即以字符形式读写,相关的类: FileReader, FileWriter
管道技术
- “水厂":即是数据,可以是硬盘上的文件,内存中的数据
- “管道”:InputStream, OutputStream等
- 打开管道、关闭管道
操作的步骤如下:
- 确定水厂在哪里
- 铺设管道
- 开水龙头
- 关闭水龙头
File类
-
创建文件
-
创建文件夹
-
查询文件夹是否存在
-
查看文件长度
-
递归遍历文件夹下的所有文件
BufferedInputStream类
字节缓冲输入流
BufferedOutputStream类
字节缓冲输出流
采用缓冲流的好处: 相对使用File、FileInputStream、FileOutputStream类来说可以提高读写速度
总结
FileInputStream与BufferedInputStream区别:
FileInputStream是字节流,BufferedInputStream是字节缓冲流,使用BufferedInputStream读资源比FileInputStream读取资源的效率高(BufferedInputStream的read方法会读取尽可能多的字节),且FileInputStream对象的read方法会出现阻塞;
FileInputStream与FileReader区别:
FileInputStream是字节流,FileReader是字符流,用字节流读取中文的时候,可能会出现乱码,而用字符流则不会出现乱码,而且用字符流读取的速度比字节流要快;
读文件的三种方式
- 使用FileInputStream, 字节流,效率一般
- 使用BufferedInputStream, 字节流,效率高
- 使用FileReader, 字符流,处理出纯文本文件效率高
写文件的三种方式
- 使用FileOutputStream
- 使用BufferedOutputStream
- 使用FileWriter