Ist es nicht möglich, an eine ObjectOutputStream
anzuhängen?Anhängen an einen ObjectOutputStream
Ich versuche, an eine Liste von Objekten anzuhängen. Das folgende Snippet ist eine Funktion, die immer dann aufgerufen wird, wenn ein Job beendet ist.
FileOutputStream fos = new FileOutputStream
(preferences.getAppDataLocation() + "history" , true);
ObjectOutputStream out = new ObjectOutputStream(fos);
out.writeObject(new Stuff(stuff));
out.close();
Aber wenn ich versuche, es zu lesen, bekomme ich nur die erste in der Datei. Dann bekomme ich java.io.StreamCorruptedException
.
zu lesen Ich bin mit
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());
}
Ich weiß nicht, wie viele Objekte vorhanden sein wird, um das Lesen ich während es keine Ausnahmen gibt. Von dem, was Google sagt, ist das nicht möglich. Ich habe mich gefragt, ob jemand einen Weg kennt?
Erhalten Sie überhaupt etwas aus dem Stream, oder wirft es beim ersten Mal eine Ausnahme? – skaffman
es liest das erste Objekt, das ich gespeichert habe, dann bekomme ich eine Ausnahme. –
Im obigen Code sehe ich nur ein Objekt in der Datei geschrieben, so dass nur einer gelesen werden würde, oder? – aperkins