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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高丽华 中级黑马   /  2014-1-19 22:38  /  965 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

什么时候使用flush()刷新??

4 个回复

倒序浏览
先详细解释一下刷新这个方法吧:public void flush() throws IOException 源自接口Flushable,API中对这个接口的解释为:Flushable是那些可能被刷新的数据的目的地,调用flush方法用来把所有已缓存的输出写到底层系统当中。

通俗一点解释:当你需要把输出流当中的数据(通常为字符)从流中写到在硬盘上的某个文件上时,就需要调用这个flush方法,他会把缓存在流中的数据写入到硬盘的某个文件中。

比如:

BufferedWriter bufWriter = new BufferedWriter("c:\\test.txt");
bufWriter.write("abcdefg"); //此时,字符串abcdefg在字符输出流中,并没有写在c:\test.txt文件上
bufWriter.flush(); //这个方法会把流中的abcdefg这个字符写入到test.txt文件中
bufWriter.close();//关闭流,这个方法在关闭流资源之前,会自动调用flush方法, 在关闭前将流中的内容释放到目的地

希望可以帮到你~

评分

参与人数 1技术分 +1 收起 理由
黄晓鑫 + 1

查看全部评分

回复 使用道具 举报 1 0
写入字符流的抽象类。子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。
回复 使用道具 举报
经处经常用的就是BufferedWriter FileWriter
回复 使用道具 举报
记住,只要用到缓冲区就要刷新。flush否则数据write写不到文件中
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马