Serialisiertes Array in ini-Datei speichern
-
Hallo, ich möchte gern ein array serialisieren, sodass ich es angenehmer speichern kann. das klappt auch, und zwar so:
Dim s As Stream = File.Open("test", FileMode.Create, FileAccess.ReadWrite) Dim b As BinaryFormatter = New BinaryFormatter b.Serialize(s, k) s.Close()
Dann wird der Stream s in die Datei "test" gschrieben. Aber ich möchte gern mehrere dieser Streams komfortabel in dieselbe Datei speichern. Wenn möglich als Value eines Schlüssels in einer INI-Datei. Um sie dann später auch wieder auszulesen. Weiß jemand eine Möglichkeit, wie man das machen könnte?
Ich hab ein wenig mit dem Streamreader experimentiert. Hat aber nicht geklappt.
Vielen Dank, für jede Hilfe!
-
Was genau meinst du mit mehreren Streams? Oder willst du mehr Arrays in der selben Datei speichern? Dazu musst nur weitere Arrays dem Serializer übergeben.
-
Ja genau. Ich will mehrere Arrays in derselben z.b. ini-datei speichern, um sie einfach abrufen zu können.
-
Ich hab es geschafft, mehrere Objecte zu serialisieren. Aber wie finde ich beim deserialisieren heraus, wie viele unf welche objecte vorhanden sind?
-
Im vornherein eher gar nicht. Der Formatter erkennt beim Deserialisieren aber schon, wann ein Objekt aufhört und wann ein neues anfängt, falls das deine Sorge ist. Wenn du unbedingt vorher wissen musst, wieviele Objekte kommen, kannst du vielleicht diese Information mit in die Datei schreiben.
Welche Objekte es dann sind, kannst du per Reflection herausfinden. Ich kenn jetzt deinen Anwendungsfall nicht, evtl. ist das nicht die beste Lösung.