黑马程序员技术交流社区

标题: io缓冲区 [打印本页]

作者: www851903307    时间: 2015-2-1 21:08
标题: io缓冲区
        BufferedWriter brw=new BufferedWriter(new FileWriter("D:\\1.txt"));
        brw.write("aaa");
        brw.flush();
        brw.close();
请问为啥写不进去,使用缓冲区,直接关闭的话,是否不用flush刷新
作者: wf111sxwf    时间: 2015-2-1 22:00
能写啊  为何不能。。。。

作者: x1071765330    时间: 2015-2-1 22:05
好好的研究一下吧!
作者: yueye13    时间: 2015-2-1 22:09
关闭时确实是带了刷新功能的
作者: 邓士林    时间: 2015-2-1 22:18
使用字符缓冲写入流的目的就是提高效率,先把数据写入到缓冲区,通过flush方法及时将缓冲区的数据刷新到目的地(文件中),而不是等到缓冲区溢出或关闭流操作的时候才写入到文件中,就这些差别,都会写入文件,只是时间先后有点不同。具体看下close方法的解释:
closepublic void close() throws IOException关闭此流,但要先刷新它。在关闭该流之后,再调用 write() 或 flush() 将导致抛出 IOException。关闭以前关闭的流无效。
close的用法已经指出,在关闭之前会进行刷新。





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