Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich wollte mal wissen was passiert wenn ich ein Objekt in eine Datei speichern will, die schon vorhanden ist ...
Also wenn ich eine Datei habe mit name bsp.jar und ich will ein Objekt in die Datei bsp.jar speichern ...
Wird die Datei überschrieben, oder was passiert dann?
Also auf anhieb würde ich jetzt sagen, dass das darauf ankommt, wie du den oos o.ä. instanziiert hast. ein normaler writer wird dir immer alles überschreiben. FileWriter(String fileName, boolean append) (append = true) hängt es ran
ranhängen mit append = true ist bei Serialisierung oder ähnlich komplexen Dateien aber keine Option,
jedenfalls nicht wenn man danach beide Objekte normal auslesen will als hätte man sie in einem Stück gespeichert,
an ein Word-Document oder ein MP3-Datei hängt man ja auch nicht binär eine weitere an
Ich hab das noch nicht ganz verstanden glaube ich ...
Also im Moment verstehe ich da so:
Ich packe ein Obejkt in einer Arraylist, und serialisiere das Objekt.
Dann hab ich das so gelernt, dass ich das mit einem Inputstream einlese und dann noch casten muss um den Objekt (vorher vom 'Typ' Object), jetzt der richtigen Klasse zuzuordnen.
Dann hab ich gefragt ob ich statt eines Objekts eine Arraylist serialisieren kann und habe deinem Post entnommen dass ich nur Objekt serialisieren kann, aber da das Objekt in einer Arraylist ist wird diese mitserialisiert, wie ich es auch so in meinem buch gelesen habe.
Nun war meine frage wenn ich das Objekt deserialisiere, was dann mit dieser Arraylist passiert und wie ich sie casten muss oder wie die referenz heißt!
Hoffe du verstehst es, tut mir leid wenn ich mich undeutlich ausgedrückt habe
schlecht:
stream.write(objectA);
stream.write(objectB);
stream.write(objectC);
...
read()
read()
read()? wieviele Objekte waren das nochmal?
-------------
gut:
ArrayList list = ..;
list.add(objectA);
list.add(objectB);
list.add(objectC);
stream.write(list);
...
read() ist leicht, nur genau einmal lesen, kommt die Liste raus, fertig.
da kann man dann size() abfragen usw.
Mein Ziel ist es ja eine Arraylist zu serialisieren ....
Aber ich bin grad total verwirrt ...
Soll ich jetzt ein Objekt, dass in einer Arraylist ist serialisieren oder
soll ich eine Arraylist, die ein Objekt enthält serialisieren?
edit:
Kleines Codebsp:
Java:
ArrayList<Hund> meineHunde = new ArrayList<Hund>();
Hund meinHund = new Hund();
meineHunde.add(meinHund);
FileOutputStream fileStream = new FileOutputStream ("MeineHunde.ser");
ObjectOutputStream os = new ObjectOutputStream(fileStream);
Na genau so wie du auch serialisierst..nur dass du eben das Object castest..
Java:
FileInputStream fileStreamIn = new FileInputStream("MeineHunde.ser");
ObjectInputStream osIn = new ObjectInputStream(fileStreamIn);
List<Hund> liste = (List<Hund>) osIn.readObject();