我正在编写一种方法,使我可以在文件的特定点输入行,例如.txt或.vbs脚本。我遇到的问题是回写部分,输出文件为空白-不包含我的ArrayList scriptCollection的条目。这是我的测试方法代码;

public void testMethod()throws Exception
{

  BufferedReader br = new BufferedReader(new FileReader("C:/Users/jchild/Desktop/PrintScript.vbs"));
  int indexNo = 1;
  int appendAt=0;
  String line;
  while((line = br.readLine()) != null)
  {
      scriptCollection.add(line);
      if(line.contains("Add at this point"))
      {
          System.out.println("Successfully read and compared"); //this is just for test output
          appendAt = appendAt + indexNo;
      }
      indexNo++;
   }
  br.close();
  scriptCollection.add(appendAt++,"Appended here");
  System.out.println(scriptCollection.toString()); //this is just for test output

  //here's what's causing the problem
  FileOutputStream fos = new FileOutputStream("C:/Users/jchild/Desktop/PrintScript.txt");
  PrintWriter is = new PrintWriter(fos);
  for(String temp : scriptCollection)
  {
      is.println(temp);
  }
  scriptCollection.clear();
}

最佳答案

您必须关闭流。

10-04 18:13