序列化&&反序列化

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization.Formatters.Soap;
using System.Xml.Serialization;
using System.Text;

namespace SerializableBinarySample
{
    class Program
    {
        static void Main(string[] args)
        {
            using (FileStream stream = new FileStream("Hello.txt", FileMode.OpenOrCreate))
            {
                Person p = new Person()
                {
                    Age = 11,
                    Name = "HuangTao",
                    Sex = "Nan",
                    Sno = "2009"
                };
                IFormatter formatter = new BinaryFormatter();
                formatter.Serialize(stream, p);
                stream.Close();
            }
            using (FileStream stream = new FileStream("Hello.txt", FileMode.Open))
            {
                IFormatter formatter = new BinaryFormatter();
                Person p = (Person)formatter.Deserialize(stream);
                Console.WriteLine(p.DisplayInfo());
            }

            using (FileStream stream = new FileStream("HelloSoap.txt", FileMode.OpenOrCreate))
            {
                Person p = new Person()
                {
                    Age = 11,
                    Name = "HuangTao",
                    Sex = "Nan",
                    Sno = "2009"
                };
                IFormatter formatter = new SoapFormatter();
                formatter.Serialize(stream, p);
                stream.Close();
            }
            using (FileStream stream = new FileStream("HelloSoap.txt", FileMode.Open))
            {
                IFormatter formatter = new SoapFormatter();
                Person p = (Person)formatter.Deserialize(stream);
                Console.WriteLine(p.DisplayInfo());
                stream.Close();
            }

            using (FileStream stream = new FileStream("HelloXml.txt", FileMode.OpenOrCreate))
            {
                XmlSerializer formatter = new XmlSerializer(typeof(Person));
                Person p=new Person()
                {
                    Age = 11,
                    Name = "HuangTao",
                    Sex = "Nan",
                    Sno = "2009"
                };
                formatter.Serialize(stream, p);
                stream.Close();
            }
            using (FileStream stream = new FileStream("HelloXml.txt", FileMode.Open))
            {
                XmlSerializer formatter = new XmlSerializer(typeof(Person));
                Person p = (Person)formatter.Deserialize(stream);
                Console.WriteLine(p.DisplayInfo());
                stream.Close();
            }
        }

    }
}

 

posted @ 2013-05-04 21:51  UncleNull  阅读(227)  评论(0编辑  收藏  举报