Hallo opcorn:
Also ich habe eine Klasse "belege", welcher jedesmal ein neues Objekt (also Beleg1,Beleg2) macht und dies in ein List<beleg> speichert. Bis dahin funktioniert alles.
Jedesmal wenn es in die Liste geschrieben hat, bekomme ich eine Consolenausgabe (size). Size vergrössert sich auch immer, solange das Programm läuft.
Mein Problem ist, dass nach dem deserialisieren size = 0 ist.
Wie die Datei aussieht wo ich das Objekt speichere:
Sereialisieren
Deserialisieren
Die Methode wird hier beim Starten des Programm aufgerufen.
Ich habe da jetzt Tagelang rumgetüfelt, aber ich weiss nicht warum er das nicht macht. Mein Problem ist halt auch, ich sehe ja nicht was er alles in die Datei wirklich schreibt.
Also ich habe eine Klasse "belege", welcher jedesmal ein neues Objekt (also Beleg1,Beleg2) macht und dies in ein List<beleg> speichert. Bis dahin funktioniert alles.
Jedesmal wenn es in die Liste geschrieben hat, bekomme ich eine Consolenausgabe (size). Size vergrössert sich auch immer, solange das Programm läuft.
Mein Problem ist, dass nach dem deserialisieren size = 0 ist.
Wie die Datei aussieht wo ich das Objekt speichere:
Sereialisieren
Java:
public void belegeInfoSchreiben(belege belegInfo,List<belege> bestellungen ) {
OutputStream fos = null;
OutputStream fos2 = null;
try {
fos = new FileOutputStream("info.txt");
ObjectOutputStream o = new ObjectOutputStream(fos);
o.writeObject(belegInfo);
} catch (IOException e) {
System.err.println(e);
} finally {
try {
fos.close();
} catch (Exception e) {
}
}
try {
fos2 = new FileOutputStream("belege.txt");
ObjectOutputStream a = new ObjectOutputStream(fos2);
a.writeObject(bestellungen);
} catch (IOException e) {
System.err.println(e);
} finally {
try {
fos2.close();
} catch (Exception e) {
}
}
}
Deserialisieren
Java:
public List<Object> belegeInfoLesen() {
List<Object> lesenReturnLesen=new ArrayList<Object>();
belege belegInfo = null;
InputStream fis = null;
InputStream fis2 = null;
try {
fis = new FileInputStream("info.txt");
ObjectInputStream o = new ObjectInputStream(fis);
belegInfo = (belege) o.readObject();
} catch (IOException e) {
System.err.println(e);
} catch (ClassNotFoundException e) {
System.err.println(e);
} finally {
try {
fis.close();
} catch (Exception e) {
}
}
try {
fis2 = new FileInputStream("belege.txt");
ObjectInputStream a = new ObjectInputStream(fis2);
List<belege> bestellungen = (List<belege>) a.readObject();
} catch (IOException e) {
System.err.println(e);
} catch (ClassNotFoundException e) {
System.err.println(e);
} finally {
try {
fis2.close();
} catch (Exception e) {
}
}
lesenReturnLesen.add(belegInfo);
lesenReturnLesen.add(bestellungen);
return lesenReturnLesen;
Die Methode wird hier beim Starten des Programm aufgerufen.
Java:
lesenReturnLesen=belegInfoAnfang.belegeInfoLesen();
belegInfo=(belege) lesenReturnLesen.get(0);
bestellungen=(List<belege>) lesenReturnLesen.get(1);
Ich habe da jetzt Tagelang rumgetüfelt, aber ich weiss nicht warum er das nicht macht. Mein Problem ist halt auch, ich sehe ja nicht was er alles in die Datei wirklich schreibt.