黑马程序员技术交流社区

标题: 关于BufferedWriter和BufferReader的问题 [打印本页]

作者: 杨银川    时间: 2011-12-5 15:19
标题: 关于BufferedWriter和BufferReader的问题
本帖最后由 杨银川 于 2011-12-5 18:23 编辑

今天练习了一下文件的读取和写入,查了javaAPI文档,发现BufferedReader没有flush()方法,读取文件的时候 不也是先放入内存中吗,难道它不用刷一下吗?只能用close()方法吗?
作者: 马德强    时间: 2011-12-5 15:26
Reader 体系不需要flush()方法。
Writer 体系才需要。
作者: 许邦存    时间: 2011-12-5 18:06
reader中的read方法是阻塞式的,只要有数据就会读进来,应该不需要flush了吧,而write时可能数据在缓冲区中那么就要调用flush方法将缓冲区的内容写到外设。
作者: 段波    时间: 2011-12-5 18:17
读取操作并没有使用缓冲区,写入数据操作才用到了缓冲区,这是因为如果我们直接写入到外部设备的话,CPU就要花费更多的时间等待外部设备的响应,这样会降低CPU的使用效率,但如果先写到一个缓冲区当缓冲区满了或数据已写完再一次性写入外部设备,那效率就会高很多。读取操作不存在这个问题,所以没有设计缓冲区。
作者: 杨银川    时间: 2011-12-5 18:22
哦,了解!!!{:soso_e100:}




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