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

Java 如何在不删除前一行的情况下写入文件?,java,Java,每次我重新要求用户输入他们的成绩时,我都会让它在文件gradeReport中写入一个字符串,但每次while循环重复,之前的结果都会被删除。如何在文件中输出几行 //Open file and call writeToFile method PrintWriter outputFile= new PrintWriter("gradeReport.txt"); outputFile.println(s.writeToFile());

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

将PrintWriter环绕设置为附加到文件的FileWriter

PrintWriter outputFile= new PrintWriter(new FileWriter("gradeReport.txt", true));
  • 注意1:FileWriter构造函数的第二个参数true表示它被设置为追加到文件,而不是重写文件
  • 注2:此问题可能会在复制后立即妥善解决

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

PrintWriter outputFile= new PrintWriter(new FileWriter("gradeReport.txt", true));
  • 注意1:FileWriter构造函数的第二个参数true表示它被设置为追加到文件,而不是重写文件
  • 注2:此问题可能会在复制后立即妥善解决
尝试使用构造函数 FileWriter(字符串文件名,布尔追加) 以附加模式打开文件

FileWriter fw = new FileWriter("filename.txt", true);
尝试使用构造函数 FileWriter(字符串文件名,布尔追加) 以附加模式打开文件

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