複数のオブジェクトをファイルに書き込み、コードの別の部分でそれらを取得します。コードにエラーはありませんが、正しく動作していません。私のコードの何が問題なのかを教えてください。さまざまな Web サイトからさまざまなコードを読みましたが、どれもうまくいきませんでした。
オブジェクトをファイルに書き込むコードは次のとおりです。 MyClassList は、クラスのオブジェクトを含む配列リストです (ファイルに書き込む必要があります)。
for (int cnt = 0; cnt < MyClassList.size(); cnt++) {
FileOutputStream fout = new FileOutputStream("G:\\address.ser", true);
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(MyClassList.get(cnt));
}
各オブジェクトをファイルの最後に追加したいので、出力ストリームのコンストラクターに「true」を追加しました。あれは正しいですか?
ファイルからオブジェクトを読み取るコードは次のとおりです。
try {
streamIn = new FileInputStream("G:\\address.ser");
ObjectInputStream objectinputstream = new ObjectInputStream(streamIn);
MyClass readCase = (MyClass) objectinputstream.readObject();
recordList.add(readCase);
System.out.println(recordList.get(i));
} catch (Exception e) {
e.printStackTrace();
}
最後に、オブジェクトを 1 つだけ出力します。今、私は正しく書いていないのか、正しく読んでいるのかわかりません!