请问大家到底是批处理快也就是我们所用的直接讲文件字节拷贝处理速度快还是存在缓冲区的buffrerdoutputstream处理文件快。是不是在缓冲区的size足够大的时候 缓冲区比直接拷贝文件要快。可是我不理解的是,如果把文件的传输两边看成是两个水缸。直接拷贝字节文件 内存开辟的足够大的情况下 是不是可以看作直接将一个满的水缸中的水倒入另一个水缸而缓冲区的字节文件拷贝 在缓冲区size足够大的情况下 是不是看作先把 满水倒入 中间的水桶(缓冲区),在从缓冲区倒入另一个水缸。这样下来 更直观的不是缓冲区多了一个环节而为什么实际上缓冲区处理文件快?
1 回答
已采纳
![?](http://img1.sycdn.imooc.com/5333a0350001692e02200220-100-100.jpg)
Developer_Zuck
TA贡献112条经验 获得超42个赞
你的理解也有一定道理,但是在java编程语言这里就不一样了。
缓冲流的底层同样是字节或字符流,只不过一次读取的内容更多!就拿你说的水来说,你用普通的流来将一桶水倒到另外的一桶水,需要50次,但是如果用缓冲流,可能只需要10次。实际上缓冲流的效率比这高得多。
这就不单单是用中间一个桶以及直接倒水的概念性问题,而是实际上你的倒水能力问题!
缓冲区的读写就是奔着效率去的。。。
添加回答
举报
0/150
提交
取消