A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© www851903307 中级黑马   /  2015-2-1 21:08  /  1007 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        BufferedWriter brw=new BufferedWriter(new FileWriter("D:\\1.txt"));
        brw.write("aaa");
        brw.flush();
        brw.close();
请问为啥写不进去,使用缓冲区,直接关闭的话,是否不用flush刷新

4 个回复

倒序浏览
能写啊  为何不能。。。。
回复 使用道具 举报
好好的研究一下吧!
回复 使用道具 举报
关闭时确实是带了刷新功能的
回复 使用道具 举报
使用字符缓冲写入流的目的就是提高效率,先把数据写入到缓冲区,通过flush方法及时将缓冲区的数据刷新到目的地(文件中),而不是等到缓冲区溢出或关闭流操作的时候才写入到文件中,就这些差别,都会写入文件,只是时间先后有点不同。具体看下close方法的解释:
closepublic void close() throws IOException关闭此流,但要先刷新它。在关闭该流之后,再调用 write() 或 flush() 将导致抛出 IOException。关闭以前关闭的流无效。
close的用法已经指出,在关闭之前会进行刷新。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马