シリアル化されたデータを MemoryStream からファイルに保存およびロードするにはどうすればよいでしょうか?

Mary-Kate Olsen
リリース: 2024-11-01 11:13:30
オリジナル
856 人が閲覧しました

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

MemoryStream の管理: ファイルの保存とファイルからのロード

シリアル化により、オブジェクトをバイト ストリームに変換でき、ファイルへの保存やネットワーク経由の送信が可能になります。この質問は、MemoryStream に格納されているシリアル化された構造をファイルに保存およびロードするという特定の課題に対処します。

MemoryStream をファイルに保存

シリアル化されたコンテンツを MemoryStream からファイルに保存するには、 WriteTo メソッドを利用できます。このメソッドはストリームを引数として受け取り、MemoryStream の内容をそれに書き込みます。次に例を示します。

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);
}
ログイン後にコピー

ファイルから MemoryStream をロード

シリアル化されたコンテンツをファイルから MemoryStream にロードするには、CopyTo メソッド (フレームワーク バージョン 4.5.2 で導入) を使用できます。 )。このメソッドは、あるストリームの内容を別のストリームに転送します。この場合、ファイルのデータは MemoryStream にコピーされます。以下に例を示します:

// 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);
}
ログイン後にコピー

Update: フレームワーク バージョン 4.5 では、CopyTo メソッドを使用して MemoryStream をファイルに保存することもできます。以下のコードは、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);
}
ログイン後にコピー

以上がシリアル化されたデータを MemoryStream からファイルに保存およびロードするにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!