黑马程序员技术交流社区

标题: 什么时候需要用flush()方法?我有点记乱了 [打印本页]

作者: 李楠    时间: 2011-12-24 08:48
标题: 什么时候需要用flush()方法?我有点记乱了
本帖最后由 李楠 于 2011-12-24 14:25 编辑

类太多了,我想不起来,只能对照着笔记翻视频了。
求助哪个情况下要用flush();
作者: songxingchao    时间: 2011-12-24 09:04
本帖最后由 songxingchao 于 2011-12-24 09:05 编辑

类带有buffer的输出类。 例如 BufferedWriter , BufferedOutputStream。
作者: 杨旭    时间: 2011-12-24 09:16
写数据的时候,才刷新。
刷新之后,数据会被写入所要存储的文件或者其他介质当中。
清空缓冲区数据,就是说你用读写流的时候,其实数据是先被读到了内存中,
然后用数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,
因为还有一部分有可能会留在内存这个缓冲区中。
这时候如果你调用了 Close()方法关闭了读写流,
那么这部分数据就会丢失,
所以应该在关闭读写流之前先Flush(),先清空数据。
作者: yunqiangshan    时间: 2011-12-24 09:33
只要用到缓冲区,就要使用刷新,一般字符流都要用到刷新。
作者: 杨扬    时间: 2011-12-24 12:23
缓冲类,用flush()刷新后才能写入,通常带有buff的IO类.
如BufferedWriter
  BufferedOutputStream
作者: 为梦而战    时间: 2011-12-24 13:11
字符流Writer及它的子类,通过flush()刷新,将流中的字符写入文件等,
字节流是直接以字节写入的应该不用刷新




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