Невозможно ли добавить к 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 говорит, что это невозможно. Мне было интересно, знает ли кто-нибудь способ?