Vector<class> laden und speichern per Java
Hej,
Ich beschäftige mich gerade damit Java-Objekte zu sichern.
Für die Speichermethode habe ich folgenden Code genommen:
Code:
FileOutputStream fos = new FileOutputStream("t.tmp");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(bands);
oos.close();
bands ist ein Vector<String> Objekt.
Zum Laden benutze ich:
Code:
FileInputStream fis = new FileInputStream("t.tmp");
ObjectInputStream ois = new ObjectInputStream(fis);
Vector bands = (Vector) ois.readObject();
Nun ist bands aber erstmal einfach nur ein Vector und den einfach als Vector<String> zu deklarieren resultiert nicht in einem Fehler aber einer Warnung.
Code:
warning: [unchecked] unchecked conversion
found : java.util.Vector
required: java.util.Vector<java.lang.String>
Für die quick and dirty solution ist das alles ok aber wie kann man das ganze eleganter machen.
Meine erste Idee war die bands.getClass mit der Klasse eines frischen Vecor<String> zu vergleichen und wenn alles gut geht einen neuen Vector aufzubauen. Das ganze führt aber die Idee das speicherns ab adsurdum, da ich ja gerade die Iteration über die Elemente des Vektors umgehen möchte.
Und eine Randfrage: Wenn ich später mehrere Vektoren in einer Datei speichern möchte, ist es möglich die auch so wieder auszulesen? Mir ist noch unklar wie die Identifizierung stattfindet wenn ich zum Beispiel die Vectoren bands, volunts and meinetwegen camps habe.