序列化类对象

  • Post author:
  • Post category:其他




序列化准备:

序列化的对象添加[System.Serializable]特性

注意:如果对象中有其他类的对象或者结构体 也需要给它们加特性



方式1

  1. using System.IO;

    using System.Runtime.Serialization.Formatters.Binary;

    MemoryStream内存流、BinaryFormatter二进制格式器类

    BinaryFormatte类的Serialize方法可以将类对象序列化

    通过内存流可以获取类对象的字节数组
  2. 实例
using (MemoryStream ms = new MemoryStream())
{
    //二进制格式器
    BinaryFormatter binary = new BinaryFormatter();
    //将类对象序列化放入内存流中
    binary.Serialize(ms,类对象);
    //通过内存流得到类对象的字节数组
    byte[] bytes = ms.GetBuffer();
    //字节数组写入到文件中
    File.WriteAllBytes(Application.dataPath+"/class.test",bytes);    
    ms.Close();
    ms.Dispose();
}



方式2

将类对象直接写入到文件流中

 using (FileStream fileStream=File.Open(Application.dataPath+"/class1.test",FileMode.OpenOrCreate,FileAccess.Write))
 {
     BinaryFormatter binary = new BinaryFormatter();
     binary.Serialize(fileStream,类对象);
     fileStream.Flush();
     fileStream.Close();
     fileStream.Dispose();
 }



版权声明:本文为weixin_43796392原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。