黑马程序员技术交流社区

标题: 上次的面试题没答出来 字符缓流为什么可以高效的复制文件 [打印本页]

作者: wxnzb502    时间: 2014-11-17 22:49
标题: 上次的面试题没答出来 字符缓流为什么可以高效的复制文件
本帖最后由 wxnzb502 于 2014-11-21 21:06 编辑

上次面试的时候,老师问道字符缓冲流为什么可以高效的的复制文件的,没答出来 求解答

作者: hailong    时间: 2014-11-18 00:03
应该是readLine()方法可以读取一行吧,如果不加缓冲的话每次读取单个字符
作者: 曾勇    时间: 2014-11-18 00:13
我是这样理解的:因为使用了BufferedReader 和BufferedWriter 缓冲区,在调用读写操作时,不用读一个,写一个,而是先读取一大片数据存到BufferedReader缓冲区中,等缓冲区满以后在全部写入到指定的文件中,这样避免了读写的来回切换,可以提高执行效率、。
作者: 高昌德    时间: 2014-11-18 07:47
学习,,,,,
作者: zhangyangLengen    时间: 2014-11-18 08:13
其实原理很简单:从文件中先读取一定量的字节数组到内存中,然后你从内存中进行不断的读取,省得你读取数据的时候,先从文件中度,然后读取到内存中,然后从内存中读。这样反复。
就像你去超市去买东西,难道你买一件就去结一次帐,你只有将买的东四放进购物车,等买完后,再去一次性的结账
作者: NCry    时间: 2014-11-18 08:22
楼上正解,我也是这么想的,可以一读一行!!
作者: cbb    时间: 2014-11-18 09:15
不太懂~~~ 楼主有答案了  也给我说下~
作者: Evred    时间: 2014-11-18 10:02
的确,好多时候只知道用,而不理解原理




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2