java的io字符流关闭和刷新.flush();

因为内置缓冲区的原因,如果不关闭输出流,无法写出字符到文件中。

但是关闭的流对象,是无法继续写出数据 的。如果我们既想写出数据,又想继续使用流,就需要 flush 方法了。

flush :刷新缓冲区,流对象可以继续使用。

close :先刷新缓冲区,然后通知系统释放资源。流对象不可以再被使用了。

 

public class FWWrite {   

   public static void main(String[] args) throws IOException { 

   // 使用文件名称创建流对象         

  FileWriter fw = new FileWriter("fw.txt");       

   // 写出数据,通过flush       

   fw.write('刷');

  // 写出第1个字符

  fw.flush();         

  fw.write('新');

  // 继续写出第2个字符,写出成功       

   fw.flush();             

   // 写出数据,通过close         

     fw.write('关');

  // 写出第1个字符         

  fw.close();         

  fw.write('闭');

  // 继续写出第2个字符,【报错】

  java.io.IOException: Stream closed       

  fw.close();   

 }

posted on 2019-07-15 17:25  贾广祥  阅读(804)  评论(0)    收藏  举报

导航