追加到对象输出流
2022-08-31 16:06:04
是否不可能追加到 ?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() );
}
我不知道会有多少对象存在,所以我正在阅读,而没有例外。从谷歌的说法来看,这是不可能的。我想知道是否有人知道一种方法?