蓝狐的技术思考 BlueFox Thinking in Tech...
交流,分享,探讨技术...... Communication, Sharing, and Discussion about Technology.....

导航

 

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

namespace SerializableTest
{
    [Serializable]
    public class Member{
      public String name = null;
      public int age = 0;
      public int weight = 0;
    }

    class Program
    {
        static void Main(string[] args)
        {
            SerializableObj();
            //DeSerializableObj();
        }
        public static void SerializableObj()
        {
           //下面是一段执行序列化简单的代码
            Member obj = new Member();
            obj.age = 20;
            obj.weight = 120;
            obj.name = "Jhon";
            IFormatter formatter = new BinaryFormatter();
            Stream stream = new FileStream("MyFile.bin",FileMode.Create,FileAccess.Write,FileShare.None);
            formatter.Serialize(stream,obj);
            stream.Close();
        }
        public static void DeSerializableObj()
        {
                       
            //下面是从前面得到的文件的反序列化
            IFormatter formatter = new BinaryFormatter();
            Stream stream = new FileStream("MyFile.bin", FileMode.Open,FileAccess.Read, FileShare.Read);
            Member obj = (Member)formatter.Deserialize(stream);
            stream.Close();

            // Here’s the proof
            Console.WriteLine("n1: {0}", obj.name);
            Console.WriteLine("n2: {0}", obj.age);
            Console.WriteLine("str: {0}", obj.weight);
            Console.ReadLine();
        }
    }

}

posted on 2007-01-25 12:11  蓝狐  阅读(173)  评论(0编辑  收藏  举报