ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
636
636
EMPFEHLEN
-
Hi !
Ich brauche für ein Programmierprojekt eine Datei, die Objekte eines bestimmten Typs persistent in einer Datei speichert und bei Programmstart diese Objekte wieder in eine HashSet speichert. Die Serialiserung funktioniert soweit, aber ich habe nun das Problem, dass bei der Deserialisierung nur ein Objekt eingelesen wird.
Code java:1 2 3 4 5 6
public static void loadWL() throws IOException, ClassNotFoundException { FileInputStream fis = new FileInputStream("whitelist.txt"); ObjectInputStream ois = new ObjectInputStream(fis); word.add(ois); }
Gibt es für die Streams keine Möglichkeit alle Objekte in der Datei einzulesen ? So vielleicht ?
Code java:1 2
while(ois.available()) word.add(ois);
cash rules everything around me
-
Ich würde dir nicht empfehlen das ganze über Serialisierung zu lösen. Speichere deine Daten lieber in XML. Da bist du dann flexibler wenn sich die Klassenstruktur mal ändert.
-
Okay, hab ich zwar noch nie gemacht aber klingt vernünftig ! Welche Klassen benötige ich dafür ?
Edit : Ich denke mal XMLDecoder und XMLEncoder
Geändert von AvS (27.04.09 um 11:23 Uhr)
cash rules everything around me
-
Sorry für Doppelposting, aber ein append = true über den FileOutputStream ist für XML-Dateien anscheined nicht mögich, richtig ?
cash rules everything around me
-
Also wenn es um XML mit JAva geht, kann ich dir jdom und/oder dom4j empfehlen.
Handlanger des Dr. Ex1tus
Ich kenne Matzes dunkles Geheimnis ! oO
o
L_/
OL
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat.
Hallo Nuray!
-
Es geht nicht zwingend um XML. Ich brauche einen Weg um Objekte mit lediglich zwei Attributen (beides Strings) so abzuspeichern, dass die Daten erstens persistent sind und zweitens beliebig erweitert werden können. Ich hatte angefangen mit ObjectOutputStream, da hat die Deserialisierung in ein HashSet aber nicht so funktioniert wie ich das wollte. Daraufhin habe ich diesen Thread eröffnet und bin nun mit XML dran. Der XMLEncoder überschreibt aber immer die vorherige XML-Datei, was nicht akzeptabel für mich ist.
cash rules everything around me
-
Es geht nicht um einfaches XML sondern um Speichern/Laden von Objekten in/nach XML. Dafür eignene sich Objektmappingframeworks wie XStream.
-
Code java:
1 2 3
FileOutputStream fos = new FileOutputStream("whitelist.ser.xml", true); XStream xs = new XStream(); xs.toXML(this, fos);
Funktioniert leider auch nicht.
Ich verzweifle langsam...Gibt es keine gescheite Möglichkeit, um Objekte in einer Datei zu speichern, die auch später noch erweitert werden kann ?cash rules everything around me
-
Du kannst ein XML nicht sinnvoll erweitern. Du hast ja Start und EndTags.
Aber du kannst die alte Datei wieder Laden, die Daten hinzufügen und wieder speichern.
Ähnliche Themen
-
Deserialisierung mehrerer Objekte (Shapes)
Von Hansguck im Forum JavaAntworten: 5Letzter Beitrag: 12.12.07, 22:19 -
Deserialisierung anzeigen
Von The_Answer1985 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 10Letzter Beitrag: 12.06.07, 10:17 -
Set/HashSet
Von truejojo im Forum JavaAntworten: 1Letzter Beitrag: 20.05.07, 11:35 -
Deserialisierung im Konstruktor
Von Mircot im Forum .NET ArchivAntworten: 16Letzter Beitrag: 14.07.05, 16:47 -
hashSet
Von yidaki im Forum JavaAntworten: 3Letzter Beitrag: 08.07.04, 14:47





Zitieren

Login





