Slyh: Objekte in Java abspeichern

Beitrag lesen

Hallo,

heißer Tipp:
Verwende die Groß/Kleinschreibung der Java  Naming Conventions. Du
machst es Leuten, die deinen Code lesen müssen/sollen/wollen damit
erheblich leichter.

Hab das auch schon getestet und funktioniert soweit ganz gut.
Nun hab ich aber folgendes Problem:
Wie kann ich der Methode mein Objekt übergeben? Ich würde gern diese Methode für bspw. "class user" und "class osbt" benutzen. Sozusagen universell.
Kann ich das beim übergeben variabel lassen oder muß ich das festlegen?
Muss ich also "public void ObjectWriter(user u1){..." schreiben oder geht das auch anders?

Nein. Die Methode ObjectOutputStream.writeObject(Object) nimmt ein
Objekt von der obersten Vaterklasse "Object" entgegen. Du kannst
also jedes Objekt serialisieren.

Deine Methode könnte also so heißen:
  public void ObjectWriter(Object obj) { ... }

Eine Methode "ObjectWriter" zu nennen, ist übrigens mehr als unglücklich,
weil es wie ein Konstruktor aussieht und klingt.

Du brauchst außerdem nicht für jedes Element eine neue Datei öffnen.
Schreibe alle Objekte einfach nacheinander raus, so wie das z.B.
hier gezeigt ist:

FileOutputStream fos = new FileOutputStream("t.tmp");
  ObjectOutputStream oos = new ObjectOutputStream(fos);

oos.writeInt(12345);
  oos.writeObject("Today");
  oos.writeObject(new Date());

oos.close();

Gruß
Slyh