Hallo. Ich habe eine Datei und durch ObjectInputStream speicher ich in die Datei und lade daraus dann was ich gespeichert habe.
Speichern:
Laden:
Speichern geht, aber beim laden weiß ich nicht, wie ich eine Schleife machen soll. Hab gelesen, dass man eine unendliche Schleife machen kann mit != null wie oben gemacht und dann die EOFException abfangen soll um den Loop zu stoppen. Das geht bei mir aber nicht bzw. es wird halt nur ein Object geladen weil ich keinen Loop bekomme und wenn ich einen unendlichen mache dann stimmt auch iwas nicht ich glaube es wird dann auch nur eins geladen... in dem Beispiel hab ich das mal raus genommen weil ich grade mit den ganzen Exceptions nicht klar komme ._. ein Catch nach dem anderem...
Meine bitte ist also ob mir jemand sagen kann wie ich das so hin bekomme, dass ich auch aus der Datei laden kann.
PS: Werde morgen mal ausprobieren, danke Saedelaere!
PHP Code:
public static ArrayList<Person> personenListe = new ArrayList<Person>();
PHP Code:
public static void personendaten_speichern(String pDatei) throws IOException {
ObjectOutputStream outputStream = null;
try {
outputStream = new ObjectOutputStream(new FileOutputStream(pDatei));
for (int i = 0; i < personenListe.size(); i++) {
Person p1 = personenListe.get(i);
outputStream.writeObject(p1);
}
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
} finally {
try {
if (outputStream != null) {
outputStream.flush();
outputStream.close();
}
} catch (IOException e) {}
}
}
Laden:
PHP Code:
public static void personendaten_laden(String pDatei) throws IOException {
ObjectInputStream inputStream = null;
try {
inputStream = new ObjectInputStream( new FileInputStream(pDatei));
while(inputStream.readObject() != null) { // Die Schleife
Person p1 = (Person) inputStream.readObject();
personenListe.add(p1);
}
} catch ( IOException e ) { System.err.println( e ); }
catch ( ClassNotFoundException e ) { System.err.println( e );
} finally {
try { inputStream.close();
} catch ( Exception e ) { }
}
}
Meine bitte ist also ob mir jemand sagen kann wie ich das so hin bekomme, dass ich auch aus der Datei laden kann.
PS: Werde morgen mal ausprobieren, danke Saedelaere!