最近、ユーザー用にシリアルファイルを作成しました。ユーザーがログインしようとしたときに読み取ったもの。新しいユーザーが登録した場合は、ユーザーを追加します。しかし、新しいユーザーを追加するたびに、追加した前のレコードが削除されます。シリアルファイルにオブジェクトを追加する方法はありますか? P.Simは、ユーザー名、パスワード、役割(インストラクターまたは学生)、およびスコア(int)変数を含むユーザーのオブジェクトを使用しています。シリアライゼーション:Javaでのオブジェクトファイルへの追加
public static void addRecordStudent(String userName, String password, String role, int score)
{
openFile();
try
{
// create new record; this example assumes valid input
User usr = new User(userName, password, role, score);
// serialize record object into file
output.writeObject(usr);
}
catch (NoSuchElementException elementException)
{
System.err.println("Invalid input. Please try again.");
}
catch (IOException ioException)
{
System.err.println("Error writing to file. Terminating.");
}
closeFile();
}
public static void openFile()
{
try
{
output = new ObjectOutputStream(Files.newOutputStream(Paths.get("users.ser")));
}
catch (IOException ioException)
{
System.err.println("Error opening file. Terminating.");
System.exit(1); // terminate the program
}
}
public static void closeFile()
{
try
{
if (output != null)
output.close();
}
catch (IOException ioException)
{
System.err.println("Error closing file. Terminating.");
}
}
また、 – Ravi
を投稿すると、質問の一部としてコメントとして投稿する必要があります。 – Ravi
完了、新しいサイトです。 –