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

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

在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对象属性值。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号