阅读量: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对象属性值。