zoukankan      html  css  js  c++  java
  • 序列化和反序列化问题

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.Serialization;
    using System.Runtime.Serialization.Formatters.Binary;
    using System.IO;
    namespace BinarySerializableExample
    {
        [Serializable]//序列化
            //序列化的两个功能是:1:将对象的状态存储在媒体中,便于创建对象的精确的副本
            //2.通过值将对象从一个应用程序传送到另一个应用程序
        public class AuthUserEntry
        {
            private int accountId;
            private string accountName;
            public int AccountId
            {
                get
                {
                    return accountId;
                }
                set
                {
                    accountId = value;
                }
            }
            public string AccountName
            {
                get
                {
                    return accountName;
                }
                set
                {
                    accountName = value;
                }
            }
        }

        class Program
        {
            static void Main(string[] args)
            {
                AuthUserEntry ate = new AuthUserEntry();
                ate.AccountId = 21;
                ate.AccountName = "LiangShuai";
                IFormatter formatter = new BinaryFormatter();//序列化到一个二进制的文件.bin中
                Stream stream = new FileStream("UserInfo.bin",FileMode.Create,FileAccess.Write,FileShare.None);
                formatter.Serialize(stream,ate);
                stream.Close();
                //反序列化时要首先创建用于读取的流和格式化接口,然后用格式化接口反序列化该对象
                stream = new FileStream("UserInfo.bin",FileMode.Open,FileAccess.Read,FileShare.Read);
                AuthUserEntry auth = (AuthUserEntry)formatter.Deserialize(stream);
                stream.Close();
                Console.WriteLine("ID is{0}",auth.AccountId);
                Console.WriteLine("Name is {0}",auth.AccountName);
                Console.ReadKey();

            }
        }
    }

    未经许可禁止转载本博客内容
  • 相关阅读:
    是什么意思
    Hql查询
    java的LINQ :Linq4j简明介绍
    Sqlite内存数据库
    ACE中的Proactor介绍和应用实例
    mysql的锁表问题
    消息:'null'为空或不是对象
    FusionChart中引入图类型和数据源方法
    实现FusionChart动态获取数据(二)
    JSP页面解决文件路径方法
  • 原文地址:https://www.cnblogs.com/liangshuai/p/2229281.html
Copyright © 2011-2022 走看看