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

ファイルに追加するように設定されている FileWriter を PrintWriter で囲みます。

PrintWriter outputFile= new PrintWriter(new FileWriter("gradeReport.txt", true));
  • 注 1: FileWriter コンストラクターの 2 番目のパラメーターの true は、ファイルを上書きするのではなく、ファイルに追加するように設定されていることを意味します。
  • 注2:この質問は、重複するため、すぐに適切に閉じられる可能性があります。
于 2013-07-20T18:35:46.010 に答える