zoukankan      html  css  js  c++  java
  • 序列化和反序列化

    序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,就使得数据能够被轻松地存储和传输。
    序列化简单点来理解就是把内存的东西写到硬盘中,当然也可以写到内存中(这个内容我会在后面写一个例子).而反序列化就是从硬盘中把信息读到内存中.就这么简单,呵呵
    序列化和反序列化用于将一个对象保存到文件,从文件读取:
    using   System.IO;   
      
    using   System.Runtime.Serialization.Formatters.Binary;   
      [Serializable()]
    //可以序列化的类需要用这个属性标记   
      public   class   ToBeSerialized   
      
    {   
      
    public   int   a;   
      
    public   string   b;   
      
    public   ToBeSerialized(int   a,string   b)   
      
    {   
      
    this.a=a;   
      
    this.b=b;   
      }
       
      }
       
      
    public   class   Test   
      
    {   
        
      
    public   void   Serialize()//序列化   
      {   
      ToBeSerialized   tbs 
    = new   ToBeSerialized(22,"SOM");   
      Stream   fs   
    =   File.Create("Serialized.txt");   
      BinaryFormatter   serializer   
    =   new   BinaryFormatter();   
      serializer.Serialize(fs,   tbs);   
      fs.Close();   
      }
       
      
    public   void   DeSerialize()//反序列化   
      {   
      ToBeSerialized   restore;   
      Stream   fs   
    =   File.OpenRead("Serialized.txt");   
      BinaryFormatter   deserializer   
    =   new   BinaryFormatter();   
      restore   
    =   (ToBeSerialized)(deserializer.Deserialize(fs));//反序列化得到的对象   
      fs.Close();   
      }
       
        
      }
  • 相关阅读:
    如何使用 Python 進行字串格式化
    骨牌摆放问题 POJ 2411(状态压缩DP)
    ACM/OI中C++常用优化(实用/调试/技巧)代码(语法)
    Windows 系统如何完全卸载 VSCode
    Python 在VSCode中使用
    第十一场训练赛
    L1-046 整除光棍 (20分)
    Problem 330A
    POJ 2187 Beauty Contest (凸包 旋转卡壳)
    程序员:写作能收获什么?
  • 原文地址:https://www.cnblogs.com/engine1984/p/864125.html
Copyright © 2011-2022 走看看