zoukankan      html  css  js  c++  java
  • 序列化&&反序列化

    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();
                }
            }
    
        }
    }
  • 相关阅读:
    【Mysql学习笔记】浅析mysql的binlog
    HBase 学习笔记---守护进程及内存调优
    字符集例子-同一字符不同字符集编码不同及导入导出的乱码
    随机访问
    格式化的代价
    读写文本文件
    缓冲
    加速I/O的基本规则
    序列化再探讨
    数据库I/O:CMP、Hibernate
  • 原文地址:https://www.cnblogs.com/HelloMyWorld/p/3060219.html
Copyright © 2011-2022 走看看