怎样使用FileStream进行数据序列化

avatar
作者
猴君
阅读量:1

在C#中,可以使用FileStream类来进行数据序列化操作。下面是一个简单的示例代码,演示如何使用FileStream类进行数据序列化:

using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary;  // 创建一个自定义类 [Serializable] public class Person {     public string Name { get; set; }     public int Age { get; set; } }  class Program {     static void Main()     {         // 创建一个Person对象         Person person = new Person { Name = "Alice", Age = 30 };          // 创建一个FileStream对象,用于写入数据         using (FileStream fileStream = new FileStream("person.dat", FileMode.Create))         {             // 创建一个BinaryFormatter对象,用于将对象序列化为二进制数据             IFormatter formatter = new BinaryFormatter();              // 将Person对象序列化并写入文件             formatter.Serialize(fileStream, person);         }          // 从文件中读取并反序列化数据         using (FileStream fileStream = new FileStream("person.dat", FileMode.Open))         {             IFormatter formatter = new BinaryFormatter();              // 从文件中读取数据并反序列化为Person对象             Person deserializedPerson = (Person)formatter.Deserialize(fileStream);              // 输出反序列化后的Person对象的属性值             Console.WriteLine($"Name: {deserializedPerson.Name}, Age: {deserializedPerson.Age}");         }     } } 

在上面的示例中,首先创建了一个自定义的Person类,并标记为Serializable以表示该类可以被序列化。然后在Main方法中,使用FileStream类创建一个文件流,通过BinaryFormatter类将Person对象序列化并写入文件。接着再次使用FileStream类打开该文件流,通过BinaryFormatter类读取文件中的数据并将其反序列化为Person对象,最后输出反序列化后的Person对象属性值。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!