虽然概念很多,搞清楚原理后并不是很复杂。

简单点理解,就是先输入输出流布置好,流之间都是通过某种东西去写入写出。有时候是一个数组,有时候是一个string什么的,充当了传递的角色。

一、代码实现

(1)BufferedInputStream和BufferedOutputStream缓冲字节流拷贝文件

因为有缓存区,所以传输速度效率都比fileinput/outstream快很多。

(2)使用InputStreamReader和OutputStreamWriter字符流读写文件数据

(三)使用BufferedReader和BufferedWriter缓冲字符流读写文件数据

其实就是在使用InputStreamReader、OutputStreamWriter字符流之后,用缓冲流进行传入传出操作。

(4)使用FileReader和FileWriter直接操作文件数据流,并包装为缓冲流进行文件拷贝

(6)使用RandomAccessFile可以读写文件的任意位置,一般用于多线程读写操作

(7)没有解决的问题

什么时候用哪种io比较好?各自的优缺点分别是什么?

为什么缓存流要比非缓存流要快?

为什么RandomAccessFile一般用于多线程读写操作?多线程用其他可不可以?

二、总结

留有疑问,总结一下。

发表评论

电子邮件地址不会被公开。 必填项已用*标注