黑马程序员技术交流社区

标题: IO流中的输出流那些地方必须用flush [打印本页]

作者: zfgrinm    时间: 2015-3-9 22:29
标题: IO流中的输出流那些地方必须用flush
是只有BufferedWriter中的write(String s)后面需要刷新flush()的吗,其他的输出流是不是都可以不用写flush(),只用close()就可以了?不太确定哪些地方必须的用flush(),求大神总结一下..

作者: 艺多不压身丶    时间: 2015-3-9 22:32
fw.flush();  刷新缓冲区,将缓冲区中的数据刷到目的地文件中。
缓冲区、缓冲区、缓冲区、缓冲区、缓冲区、缓冲区、缓冲区、缓冲区、
                            用到缓冲区就需要刷新,
作者: waylent    时间: 2015-3-9 22:51
当要输出的数据非常大(比如向硬盘保存一个mkv格式的高清电影),动辄8.1个G,比内存还大,这样就必须用flush()方法把数据一块一块的存到硬盘,如果不用flush()方法,会导致内存溢出,根本无法完成目的。总之就是大量数据的输出必须用flush()分批存到硬盘。
作者: zfgrinm    时间: 2015-3-9 23:57
艺多不压身丶 发表于 2015-3-9 22:32
fw.flush();  刷新缓冲区,将缓冲区中的数据刷到目的地文件中。
缓冲区、缓冲区、缓冲区、缓冲区、缓冲区、 ...

谢了啊,明白了




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