路漫漫,求索不息

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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());

    }

posted on 2013-06-28 20:18  路漫漫,求索不息  阅读(304)  评论(0编辑  收藏  举报