Heim > Backend-Entwicklung > C++ > Hauptteil

Wie speichert und lädt man serialisierte Daten aus einem MemoryStream in eine Datei?

Mary-Kate Olsen
Freigeben: 2024-11-01 11:13:30
Original
856 Leute haben es durchsucht

How do you save and load serialized data from a MemoryStream to a file?

MemoryStream verwalten: Speichern und Laden aus Dateien

Serialisierung ermöglicht die Konvertierung eines Objekts in einen Bytestrom und ermöglicht so seine Speicherung in Dateien oder die Übertragung über Netzwerke. Diese Frage befasst sich mit der besonderen Herausforderung des Speicherns und Ladens einer in einem MemoryStream gespeicherten serialisierten Struktur in eine Datei.

MemoryStream in einer Datei speichern

Um den serialisierten Inhalt aus einem MemoryStream in einer Datei zu speichern, Sie können die WriteTo-Methode verwenden. Diese Methode nimmt einen Stream als Argument und schreibt den Inhalt des MemoryStream darauf. Hier ist ein Beispiel:

using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

// Create a MemoryStream to store serialized data
MemoryStream memoryStream = new MemoryStream();

// Serialize an object to memory stream
BinaryFormatter binaryFormatter = new BinaryFormatter();
binaryFormatter.Serialize(memoryStream, objectToSerialize);

// Save MemoryStream to file
using (FileStream fileStream = new FileStream("filename.bin", FileMode.Create))
{
    memoryStream.WriteTo(fileStream);
}
Nach dem Login kopieren

MemoryStream aus einer Datei laden

Um den serialisierten Inhalt aus einer Datei in einen MemoryStream zu laden, können Sie die CopyTo-Methode verwenden (eingeführt in Framework-Version 4.5.2). ). Diese Methode überträgt den Inhalt eines Streams auf einen anderen. In diesem Fall werden die Daten aus der Datei in den MemoryStream kopiert. Hier ein Beispiel:

// Create a MemoryStream to receive the loaded data
MemoryStream loadedMemoryStream = new MemoryStream();

// Load file into MemoryStream
using (FileStream fileStream = new FileStream("filename.bin", FileMode.Open))
{
    fileStream.CopyTo(loadedMemoryStream);
}
Nach dem Login kopieren

Update: Ab Framework-Version 4.5 kann die CopyTo-Methode auch verwendet werden, um einen MemoryStream in einer Datei zu speichern. Der folgende Code kann austauschbar mit der WriteTo-Methode verwendet werden:

using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

// Create a MemoryStream to store serialized data
MemoryStream memoryStream = new MemoryStream();

// Serialize an object to memory stream
BinaryFormatter binaryFormatter = new BinaryFormatter();
binaryFormatter.Serialize(memoryStream, objectToSerialize);

// Save MemoryStream to file
using (FileStream fileStream = new FileStream("filename.bin", FileMode.Create))
{
    memoryStream.CopyTo(fileStream);
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie speichert und lädt man serialisierte Daten aus einem MemoryStream in eine Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!