Einzelnen Beitrag anzeigen

guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#3

Re: String mit FileStream speichern

  Alt 26. Mär 2009, 09:18
Du musst auf jeden Fall auch beachten, dass diese Lösung nur mit genau EINEM String funktioniert, da du sonst beim Zurücklesen des Filestreams nicht mehr weisst wie lang der String ist.

Normalerweise schreibst du als erstes die Länge des Strings in den Stream, danach den String selbst. Beim Lesen kannst du dann zuerst die Länge auslesen und anschließend die richtige Anzahl an Bytes für den String. Das funktioniert auch bei mehreren Strings (oder anderen Datenstrukturen mit nicht konstanter Länge).

Beispiel.

String1 = 'Hallo'
String2 = 'Welt'

Im korrekt gespeicherten Stream sollte jetzt stehen:

05 H a l l o 04 W e l t

Einlesen:

Zuerst die Länge = 5 dann fünf Zeichen - der Zeiger des Stream steht jetzt genau auf der Längeninformation des nächsten String = 4 dann vier Zeichen.
  Mit Zitat antworten Zitat