Hallo!
Ich habe mehrere Autoobjekte eingelesen, und jetzt wollt ich Sie wieder auslesen und es wird eine Exception geworfen! Wie stelle ich fest wieviel Objekt mein Dokument hat, damit ich sie mit einer for-Schleife auslesen kann?
Ich habe mehrere Autoobjekte eingelesen, und jetzt wollt ich Sie wieder auslesen und es wird eine Exception geworfen! Wie stelle ich fest wieviel Objekt mein Dokument hat, damit ich sie mit einer for-Schleife auslesen kann?
Code:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class SchreibenObjekte {
public static void main(String[] args) {
File f = new File("Objekte.txt");
Auto a = new Auto();
a.setFarbe("rot");
Auto b = new Auto();
b.setFarbe("rosa");
try {
FileOutputStream fw = new FileOutputStream(f);
ObjectOutputStream oos = new ObjectOutputStream(fw);
oos.writeObject(a);
oos.writeObject(a);
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
public class LesenObjekte {
public static void main(String[] args) throws ClassNotFoundException {
File f = new File("Objekte.txt");
try {
FileInputStream fi = new FileInputStream(f);
ObjectInputStream ois = new ObjectInputStream(fi);
int anzahl = ois.readInt();
for (int i = 1; i<=anzahl; i++){ //java.io.EOFException
Auto auto = (Auto) ois.readObject();
System.out.println(auto.getFarbe());
}
fi.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}