在读写文件数据的时候,可以采用原始流FileInputStream,FileOutputStream,但是这种原始流的读写操作效率都比较低,而用BufferedInputStream,BufferedInputStream,可以较快的的进行读写操作,原因是因为原始流在进行读写操作到时候,是按照一个字节一个字节的读写,这是非常耗时的,但是使用缓冲流可以把读到的字节都放在一个缓冲区域里面,这样可以减少CPU对硬盘的操作,大大的减少读写的时间,Buffered流的构造方法的传参是 抽象类InputStream,OutputStream,也可以传缓冲区域的大小,一般默认尺寸是8192,如图所示
下面是输入流的对比
如图所示
这是控制台输出
可以知道使用原始流读文件java.txt中的文件需要2毫秒,而使用Buffered流所需要的时间为0毫秒(这里的0毫秒并不意味着不花时间,而是所花的时间太小了,被计算机给省掉了),如果文件足够大,这时间上的差别将会更大,看完输入流的对比,下面是输出流的对比。
如图所示
下面是控制台输出
还是很明显的使用Buffered流比原始流的输出操作更加快,在你做这个输出的时候,有可能两个的输出都是相等的,这是由于文件过于小,另外就是用于CPU的占有,在相同的情况下,有可能一个分配的比较小,一个分配的比较多造成的,从某种角度上考虑,如果原始流CUP占有的足够多,读写操作是可能比Buffered流快的,但是如果文件够大,Buffered流的优势将会明显的发挥出来。