Frage

Ich lese eine Binärdatei in ein Parsing-Programm ein.Ich muss die Datei durchlaufen und nach bestimmten Markierungen suchen, damit ich die Datei aufteilen und diese Teile an die Konstruktoren ihres jeweiligen Objekts übergeben kann.

Gibt es einen Vorteil, die Datei als Stream zu speichern, entweder MemoryStream oder FileStream, oder sollte sie in ein Byte[]-Array konvertiert werden?

Keith

War es hilfreich?

Lösung

A byte[] oder MemoryStream In beiden Fällen muss die gesamte Datei in den Speicher verschoben werden.A MemoryStream ist eigentlich ein Wrapper um ein zugrunde liegendes Byte-Array.Der beste Ansatz besteht darin, zwei zu haben FileStream (eine für die Eingabe und eine für die Ausgabe).Lesen Sie aus dem Eingabestream und suchen Sie nach dem Muster, das angibt, dass die Datei beim Schreiben in die aktuelle Ausgabedatei getrennt werden soll.

Möglicherweise möchten Sie die Eingabe- und Ausgabedateien in eine Datei verpacken BinaryReader Und BinaryWriter bzw. wenn sie Ihrem Szenario einen Mehrwert verleihen.

Andere Tipps

Ein MemoryStream ist im Grunde ein Byte-Array mit einer Stream-Schnittstelle, z.B.sequentielles Lesen/Schreiben und das Konzept einer aktuellen Position.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top