Writer an Objekt syncen - aber wie?

Status
Nicht offen für weitere Antworten.

iflash

Mitglied
Hallo Gemeinde,


und noch ein Problem, bei dem ich nicht weiterkomme:

Ich habe in einem Array ca. 400 Objekte einer Klasse, deren jeweilige Eigenschaften ich sichern will. Schön. Funktioniert mit Eigenschaften wie Strings ganz gut. Dummerweise gibt es zwei Eigenschaften, die mit enum definiert wurden. Und natürlich kann write mit meinem enum-Typ nichts anfangen.

Jetzt die Fragen:

1. Wie speichere ich Eigenschaften wie oben beschriebene (durch enum definierte) und wie lese ich sie später wieder direkt in die Objektvariablen ein?

2. Ich habe gelesen, dass ich mit Writer (Object lock) die Schreibfunktion an ein Objekt synchronisieren kann., Heißt das, ich könnte schlicht

Code:
for (i =0; i < 400; file.write( object[i] )

schreiben und alles wäre gut?

Wie sieht in diesem Fall die Deklaration aus?

und 3. Warum geht das nicht?

Code:
String test = file.read( );

Im Lehrbuch steht, dass read Strings lesen könnte ...


Lieben Gruß (und sorry für die vielen Fragen)

iFlash
 
Auf Basis der (wenigen) Informationen, die du bisher gegeben hast:

Zu 1:
Enums beiten Methoden
meinEnumObjekt.name()
und
MeinEnumTyp meinEnumObjekt = MeinEnumTyp.valueOf(string);

Du könntest für die Enums also einfach auch Strings rausschreiben. Du schreibst den String, den du mit meinEnumObjekt.name() erhältst. Beim Lesen erstellst du das passende Enum-Objekt, indem zu für dein eingelesenen String
MeinEnumTyp meinEnumObjekt = MeinEnumTyp.valueOf(string);
machst.

Zu 2.:
Was du damit meintest, ist nicht ganz klar. Ich weiß nicht, was "synchronisieren" in diesem Zusammenhang für eine Rolle spielen soll. Aber du könntest dir mal die Klasse
ObjetOutputStream
ansehen. (Nur als Tipp)

Zu 3.:
Ein Reader kann einzelne chars lesen - oder arrays von chars. Und aus letzteren kann man einen String machen.
char array[] = new char[1234];
reader.read(array);
String s = new String(array);
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben