Hallo. Ich hoffe, ich stelle hier nicht ne Frage, die schon zig mal gestellt wurde. Ich habe zwar ähnliche Fragestellungen mit der Suchfunktion gefunden, aber bisher hat es mir nicht geholfen.
Folgendes Problem habe ich:
Ich erstelle gerade ein Programm, womit man Daten abspeichert ( in meinem Fall sind es Trading Cards ). Wie dem auch sei, es werden dabei verschiedene Attribute nachgefragt und dann innerhalb des Objekts "Karte" gespeichert. Die Objekte "Karte" werden dann in der Liste angehängt. Damit sich das aber auch lohnt, möchte ich diese Liste anschließend in einer Datei speichern und sie so zu einem späteren Zeitpunkt wieder laden/auslesen können.
Hier der Code:
Das Problem dabei ist, dass ich zwar serialize ausführen kann und er auch die Datei datenbank.ser anlegt, aber anscheinend nicht die gesamte Liste einspeichert. Egal wie viele Objekte in der Liste enthalten sind, die Größe der Datei ist immer gleich.
Beim deserializen kommt dann auch eine NullPointerException. Anmerkung: Bei allen beteiligten Klassen wurde Serializable implementiert. Mit dem Befehl liste.kopiere() wird eine Kopie der Liste erstellt und zurückgegeben ( Methode befindet sich in der Klasse Kartenliste ).
Danke schon mal für Ratschläge
Folgendes Problem habe ich:
Ich erstelle gerade ein Programm, womit man Daten abspeichert ( in meinem Fall sind es Trading Cards ). Wie dem auch sei, es werden dabei verschiedene Attribute nachgefragt und dann innerhalb des Objekts "Karte" gespeichert. Die Objekte "Karte" werden dann in der Liste angehängt. Damit sich das aber auch lohnt, möchte ich diese Liste anschließend in einer Datei speichern und sie so zu einem späteren Zeitpunkt wieder laden/auslesen können.
Hier der Code:
Code:
public void serialize()
{
try
{ ObjectOutputStream o = new ObjectOutputStream(new FileOutputStream
("H:/datenbank.ser",true));
o.writeObject(festeListe);
o.close();
}
catch ( IOException e ) { System.err.println( e ); }
}
public void deserialize()
{ try
{ ObjectInputStream o = new ObjectInputStream(new FileInputStream
("H:/datenbank.ser"));
Kartenliste liste = (Kartenliste) o.readObject();
o.close();
festeListe = liste.kopiere();
}
catch ( IOException e ) { System.err.println( e ); }
catch ( ClassNotFoundException e ) { System.err.println( e ); }
}
Das Problem dabei ist, dass ich zwar serialize ausführen kann und er auch die Datei datenbank.ser anlegt, aber anscheinend nicht die gesamte Liste einspeichert. Egal wie viele Objekte in der Liste enthalten sind, die Größe der Datei ist immer gleich.
Beim deserializen kommt dann auch eine NullPointerException. Anmerkung: Bei allen beteiligten Klassen wurde Serializable implementiert. Mit dem Befehl liste.kopiere() wird eine Kopie der Liste erstellt und zurückgegeben ( Methode befindet sich in der Klasse Kartenliste ).
Danke schon mal für Ratschläge