• 二进制序列化和反序列化类


    using System;
    using System.IO;
    using System.Runtime.Serialization; //二进制序列化类的命名空间
    using System.Runtime.Serialization.Formatters.Binary;//提供的是二进制的命名空间
    namespace Console88
    {
     /// <summary>
     /// Class1 的摘要说明。
     /// </summary>
     public class Class1
     {
      /// <summary>
      /// 应用程序的主入口点。
      /// </summary>
      [STAThread] //表示的是单进程的
      static void Main(string[] args)
      {
       //
       // TODO: 在此处添加代码以启动应用程序
       //
       Student s=new Student();

       s.i=100;

       s.j=200;

       //IFormatter 提供将序列化对象格式化的功能

       IFormatter  ff=new BinaryFormatter();//以二进制序列化类

    //   Stream stream=new FileStream(@"MyFile.txt",FileMode.Create,FileAccess.Write,FileShare.None);//将文件写入流
      
    //   ff.Serialize(stream,s);//将对象提供给所序列化的流


       Stream stream=new FileStream(@"MyFile.txt",FileMode.Open,FileAccess.Read,FileShare.Read);//反序列化的文件必须存在

       stream.Seek(0,SeekOrigin.Begin); //解决的是反序列化的时候解决流的结尾

       ff.Deserialize(stream); //反序列化该类得流
       
       stream.Close();//关闭并释放所有的资源

       Console.WriteLine("i:{0}",s.i);

       Console.Write("j:{0}",s.j);

       }
     }

     [Serializable] //序列化该类
     public class Student
     {
      public int i=0;
      public int j=0;
     }

    }

  • 相关阅读:
    5月29 流程
    5月27 权限设置及功能
    5月26 留言板练习题
    5月24 文件操作
    5月23 文件上传及图片上传预览
    5月23 注册审核
    5月21 回话控制SESSION COOKIE
    5月21 汽车查询及批量删除----php方法
    5月21 练习AJAX的查看详细及批量删除
    5月20 三级联动
  • 原文地址:https://www.cnblogs.com/suneryong/p/781818.html
Copyright © 2020-2023  润新知