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

    using System.IO;
    using System.Runtime.Serialization.Formatters.Binary;
    using System.Xml.Serialization;
    using System.Runtime.Serialization.Formatters.Soap; 

    public void ThreeSerialize()
        {

            //三种方式序列化

         BinaryFormatter序列化

            person pBf = new person() { Name="BF",Age=1,sex="女"};   //被序列化对象
            BinaryFormatter bf = new BinaryFormatter();   //格式化对象
            Stream streamBf = new FileStream("c:/BinaryFormatter.txt",FileMode.OpenOrCreate,FileAccess.Write,FileShare.None);   //流对象
            bf.Serialize(streamBf,pBf);  //实例化
            streamBf.Close();

            SOAPFormatter序列化

            person pSoap = new person() { Name="soap",Age=2,sex="男"};
            SoapFormatter soapFormatter = new SoapFormatter();
            Stream streamSoap = new FileStream("c:/SOAP.txt",FileMode.OpenOrCreate,FileAccess.Write,FileShare.None);
            soapFormatter.Serialize(streamSoap,pSoap);
            streamSoap.Close();

           XmlSerialize序列化

            person pXml = new person() { Name="xmlSerilize",Age=3,sex="男"};
            XmlSerializer xmlSerlizer = new XmlSerializer(typeof(person));
            Stream streamXml =new  FileStream("c:/XmlSerilize.txt",FileMode.OpenOrCreate,FileAccess.Write,FileShare.None);
            xmlSerlizer.Serialize(streamXml,pXml);
            streamXml.Close();

            //三种反序列化
            Stream strDBf = new FileStream("c:/BinaryFormatter.txt", FileMode.OpenOrCreate, FileAccess.Read, FileShare.None);
            person DbfP=(person)bf.Deserialize(strDBf);
            strDBf.Close();
            Response.Write("<br/>"+DbfP.MyInfo());

            Stream streamDSOAP = new FileStream("c:/SOAP.txt", FileMode.Open, FileAccess.Read, FileShare.None);
            person DPerson = (person)soapFormatter.Deserialize(streamDSOAP);
            strDBf.Close();
            Response.Write("<br/>"+DPerson.MyInfo());

            Stream streamDXml = new FileStream("c:/XmlSerilize.txt",FileMode.Open,FileAccess.Read,FileShare.None);
            person xmlDperson=(person)xmlSerlizer.Deserialize(streamDXml);
            streamDXml.Close();
            Response.Write("<BR/>"+xmlDperson.MyInfo());

        }

  • 相关阅读:
    Spring 总结
    分布式缓存Memcache
    Docker原理 -- namespace与CGroup
    JDK源码分析--Collections
    React生命周期总结
    【转】前端优化的35条
    http缓存与cdn相关技术
    跨域处理
    sequekize
    orm2
  • 原文地址:https://www.cnblogs.com/zhouyunbaosujina/p/3161660.html
Copyright © 2011-2022 走看看