に追加することはできませんObjectOutputStream
か?
オブジェクトのリストに追加しようとしています。次のスニペットは、ジョブが終了するたびに呼び出される関数です。
FileOutputStream fos = new FileOutputStream
(preferences.getAppDataLocation() + "history" , true);
ObjectOutputStream out = new ObjectOutputStream(fos);
out.writeObject( new Stuff(stuff) );
out.close();
しかし、それを読み取ろうとすると、ファイルの最初のものしか取得できません。それから私は得るjava.io.StreamCorruptedException
。
私が使用していることを読むために
FileInputStream fis = new FileInputStream
( preferences.getAppDataLocation() + "history");
ObjectInputStream in = new ObjectInputStream(fis);
try{
while(true)
history.add((Stuff) in.readObject());
}catch( Exception e ) {
System.out.println( e.toString() );
}
オブジェクトがいくつ存在するか分からないので、例外がないうちに読んでいます。Googleが言っていることから、これは不可能です。誰かが方法を知っているかどうか疑問に思っていましたか?