Maison > développement back-end > C++ > le corps du texte

Comment enregistrer et charger des données sérialisées d'un MemoryStream vers un fichier ?

Mary-Kate Olsen
Libérer: 2024-11-01 11:13:30
original
856 Les gens l'ont consulté

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

Gestion de MemoryStream : sauvegarde et chargement à partir de fichiers

La sérialisation permet la conversion d'un objet en un flux d'octets, permettant son stockage dans des fichiers ou sa transmission sur des réseaux. Cette question répond au défi spécifique de la sauvegarde et du chargement d'une structure sérialisée stockée dans un MemoryStream dans un fichier.

Enregistrement de MemoryStream dans un fichier

Pour enregistrer le contenu sérialisé d'un MemoryStream dans un fichier, vous pouvez utiliser la méthode WriteTo. Cette méthode prend un flux comme argument et y écrit le contenu du MemoryStream. Voici un exemple :

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);
}
Copier après la connexion

Chargement d'un MemoryStream à partir d'un fichier

Pour charger le contenu sérialisé d'un fichier dans un MemoryStream, vous pouvez utiliser la méthode CopyTo (introduite dans la version 4.5.2 du framework ). Cette méthode transfère le contenu d'un flux à un autre. Dans ce cas, les données du fichier sont copiées dans MemoryStream. Voici un exemple :

// 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);
}
Copier après la connexion

Mise à jour : Depuis la version 4.5 du framework, la méthode CopyTo peut également être utilisée pour enregistrer un MemoryStream dans un fichier. Le code ci-dessous peut être utilisé de manière interchangeable avec la méthode WriteTo :

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);
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!