BufferWriter形式と、それぞれブール値のtrueステートメントを持つFileWriterとPrintWriterを使用してみましたが、どちらも単純な新しいファイルを使用した場合と同じように動作します。プログラムの実行が終了するたびに、保存されたデータを書き込む関数を呼び出して追加します。最終的に発生するのは、最後に保存されたデータを上書きすることです。そのテキストファイルを処理する他のコードブロックもあり、それらを再フォーマットしても何も起こりませんでした。
//saves user information to "Users.txt" which will be called in the finally block after choice switch
public void writeUsers()
{
try{
File userFile = new File("Users.txt");
PrintWriter output = new PrintWriter(userFile);
for(User i: userList) {
output.append("Name:");
output.println(i.getrealName());
output.append("UID:");
output.println(i.getidName());
output.append("Password:");
output.println(i.getpassword());
output.println(" ");
}
output.close();
System.out.print("Information has been saved to Users.txt\n");
}
catch(FileNotFoundException fnf) {
System.err.println("FileNotFoundException: File Users.txt does not exist " + fnf);
}
catch(IOException eyeoh) {
System.err.println("IOException: Error writing to Users.txt " + eyeoh);
}
}