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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李楠 黑马帝   /  2011-12-24 08:48  /  4006 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李楠 于 2011-12-24 14:25 编辑

类太多了,我想不起来,只能对照着笔记翻视频了。
求助哪个情况下要用flush();

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

5 个回复

倒序浏览
本帖最后由 songxingchao 于 2011-12-24 09:05 编辑

类带有buffer的输出类。 例如 BufferedWriter , BufferedOutputStream。
回复 使用道具 举报
杨旭 黑马帝 2011-12-24 09:16:03
藤椅
写数据的时候,才刷新。
刷新之后,数据会被写入所要存储的文件或者其他介质当中。
清空缓冲区数据,就是说你用读写流的时候,其实数据是先被读到了内存中,
然后用数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,
因为还有一部分有可能会留在内存这个缓冲区中。
这时候如果你调用了 Close()方法关闭了读写流,
那么这部分数据就会丢失,
所以应该在关闭读写流之前先Flush(),先清空数据。

评分

参与人数 1技术分 +1 收起 理由
杨强 + 1

查看全部评分

回复 使用道具 举报
只要用到缓冲区,就要使用刷新,一般字符流都要用到刷新。
回复 使用道具 举报
杨扬 黑马帝 2011-12-24 12:23:41
报纸
缓冲类,用flush()刷新后才能写入,通常带有buff的IO类.
如BufferedWriter
  BufferedOutputStream
回复 使用道具 举报
字符流Writer及它的子类,通过flush()刷新,将流中的字符写入文件等,
字节流是直接以字节写入的应该不用刷新
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马