如何在不删除上一行的情况下写入文件?

时间:2013-07-20 18:32:35

标签: java

每次我重新要求用户输入他们的成绩时,我都会在文件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;
    }

2 个答案:

答案 0 :(得分:2)

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

PrintWriter outputFile= new PrintWriter(new FileWriter("gradeReport.txt", true));
  • 注1:FileWriter构造函数的第二个参数true表示它被设置为附加到文件而不是覆盖文件。
  • 注意2:这个问题可能很快就会被重复关闭。

答案 1 :(得分:2)

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

FileWriter fw = new FileWriter("filename.txt", true);