使用Buffered流读写文件数据

在读写文件数据的时候,可以采用原始流FileInputStream,FileOutputStream,但是这种原始流的读写操作效率都比较低,而用BufferedInputStream,BufferedInputStream,可以较快的的进行读写操作,原因是因为原始流在进行读写操作到时候,是按照一个字节一个字节的读写,这是非常耗时的,但是使用缓冲流可以把读到的字节都放在一个缓冲区域里面,这样可以减少CPU对硬盘的操作,大大的减少读写的时间,Buffered流的构造方法的传参是 抽象类InputStream,OutputStream,也可以传缓冲区域的大小,一般默认尺寸是8192,如图所示

 

 

下面是输入流的对比

如图所示

 这是控制台输出

可以知道使用原始流读文件java.txt中的文件需要2毫秒,而使用Buffered流所需要的时间为0毫秒(这里的0毫秒并不意味着不花时间,而是所花的时间太小了,被计算机给省掉了),如果文件足够大,这时间上的差别将会更大,看完输入流的对比,下面是输出流的对比。

如图所示

下面是控制台输出 

 还是很明显的使用Buffered流比原始流的输出操作更加快,在你做这个输出的时候,有可能两个的输出都是相等的,这是由于文件过于小,另外就是用于CPU的占有,在相同的情况下,有可能一个分配的比较小,一个分配的比较多造成的,从某种角度上考虑,如果原始流CUP占有的足够多,读写操作是可能比Buffered流快的,但是如果文件够大,Buffered流的优势将会明显的发挥出来。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值