JAVA输入/输出学习...

        今天做JAVA编程思想IO一章的练习题,运行程序结果不能把字符串输出到文件中,后来才发现是因为程序最后没有关闭流对象造成的...
代码如下:
public class IOWork {
 public static void writeFile(){
  try {
   FileWriter fw=new FileWriter("IOWriterFile.txt");
   PrintWriter pw=new PrintWriter(fw);
   
   for (int i=0;i<v.size();i++){
    System.out.print(i+":"+v.get(i).toString()+"\n");
    pw.write(i+":"+v.get(i).toString()+"\n");
   }
   pw.flush(); --------------1
   pw.close();--------------2
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  }
}

如果没有代码中1,2处的语句,那么Vector中的数据是不能输出到文件中的,因为没有关闭PrintWriter对象,数据仍存在于内存中,只有当调用了flush()或者close()方法后才会将内存中的数据写入文件。作为一种好的习惯,在使用流对象的时候都要记得用完之后关闭流对象。

你可能感兴趣的:(java)