现在的位置: 首页 > 综合 > 正文

随笔7 – 二进制序列化与反序列化

2014年01月30日 ⁄ 综合 ⁄ 共 687字 ⁄ 字号 评论关闭

1. 定义一个可序列化的对象,如下

    [Serializable()]
    public class Test
    {
        public string Key { get; set; }

        public string Value { get; set; }

        public string Name { get; set; }
    }

2. 对象进行赋值,如下:

            Test _Test = new Test();
            _Test.Key = Guid.NewGuid().ToString();
            _Test.Value = Guid.NewGuid().ToString();
            _Test.Name = Guid.NewGuid().ToString();

3. 对象序列化,如下:

            IFormatter formatter = new BinaryFormatter();
            Stream stream = new FileStream("TestObject.bin", FileMode.Create, FileAccess.Write, FileShare.None);
            formatter.Serialize(stream, _Test);
            stream.Close();

4. 上面的代码运行后,将会得到一个序列化后的二进制文件(*.bin),使用文本文档打开该文件,可以看到对象的值。

 

5. 反序列化,如下:

            Stream stream = new FileStream("TestObject.bin", FileMode.Open, FileAccess.Read, FileShare.Read);
            Test Test = (Test)formatter.Deserialize(stream);

 

6. 上面得到的对象即为之前序列化的对象。

抱歉!评论已关闭.