0

每次我重新要求用户输入他们的成绩时,我都会将一个字符串写入文件gradeReport,但每次 while 循环重复时,之前的结果都会被删除。如何在文件中输出几行?

//Open file and call writeToFile method        
         PrintWriter outputFile= new PrintWriter("gradeReport.txt");
         outputFile.println(s.writeToFile());
         outputFile.close();

和方法:

public String writeToFile() 
    { 
     DecimalFormat f = new DecimalFormat("0.00");
        String str= name + "--" + id + "--" + f.format(getPercentage())+ "--" + getGrade();
      return str;
    }
4

2 回答 2

3

将 PrintWriter 包裹在设置为附加到文件的 FileWriter 周围。

PrintWriter outputFile= new PrintWriter(new FileWriter("gradeReport.txt", true));
  • 注 1:FileWriter 构造函数的第二个参数 true 表示它被设置为追加到文件而不是覆盖文件。
  • 注意 2:这个问题很可能会以重复的形式尽快关闭。
于 2013-07-20T18:35:46.010 回答
2

尝试使用构造函数 FileWriter(String filename, boolean append) 以追加模式打开文件。

FileWriter fw = new FileWriter("filename.txt", true);
于 2013-07-20T18:36:30.833 回答