黑马程序员技术交流社区

标题: 没有flush(),就没有缓冲区 [打印本页]

作者: xuhao3622603    时间: 2015-6-27 13:05
标题: 没有flush(),就没有缓冲区
在输出流中write()只是把数据写入到流中,也就是说数据还是在内存中转移。
只有在flush()调用后,才会将数据从内存中写入到硬盘上。
  1. while((x=fr.read())!=-1)
  2.                 {
  3.                         bw.write(x);
  4.                         bw.flush();
  5.                 }
  6.                
复制代码
这一段代码,write();一次就flush();一次,等于没有缓冲
  1. while((x=fr.read())!=-1)
  2.                 {
  3.                         bw.write(x);
  4.                        
  5.                 }
  6.                 bw.flush();
复制代码
这一段代码才是真正的缓冲,只对硬盘写入一次。



作者: 有艺术的刺客    时间: 2015-6-27 13:22
预习的进度挺快啊~路过
作者: xuhao3622603    时间: 2015-6-27 13:25
有艺术的刺客 发表于 2015-6-27 13:22
预习的进度挺快啊~路过

我是第二遍看视频了,以前以为明白了,看第二遍发现哈多东西都没真正理解




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