步骤一:引入IO文件和二进制格式序列化文件

using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
步骤二:将图书对象保存到文件(运用文件流存储图书列表)

FileStream fs = new FileStream("bookList.obj", FileMode.Create);//在根目录下创建bookList.obj文件
BinaryFormatter bf = new BinaryFormatter();//创建二进制格式化器  bookList不能直接加到文件流对象中需要二进制格式化器进行序列化(简单理解成把水变为冰的过程)
bf.Serialize(fs,bookList);//把当前集合序列化到文件
fs.Close();//关闭文件流

步骤三:将对象变为可序列化的对象

在类前面加上[Serealizable]

步骤四:从文件中读取图书列表

if(!File.Exists("bookList.obj")){
       return;
     }
 FileStream fs = new FileStream("bookList.obj", FileMode.Open);
 BinaryFormatter bs = new BinaryFormatter();
 this.bookList=(List<Book>)bs.Deserialize(fs);
 fs.Close();

文件读取器的使用:

//创建文件流和文件读取器
            FileStream fs = new FileStream(path, FileMode.Open);
            StreamReader sr = new StreamReader(fs,Encoding.Default);//读取的文件流和默认的编码
            tvDate = sr.ReadLine(); //读取文本第一行的电视节目日期

转载于:https://www.cnblogs.com/cuig/p/8719558.html

文件流的使用以及序列化和反序列化的方法使用相关推荐

  1. 程序验证Jackson反序列化的规则、Jackson序列化与反序列化关键方法程序详细分析

    目录 0. 为什么要做这个分析 1. Jackson反序列化时,无参构造.有参构造的执行顺序[附程序截图] 1.1 没有无参构造时: 1.2 无参构造和有参构造方法都有的时候先走无参构造: 2. Ja ...

  2. php json字符串序列化,JSON序列化与反序列化实现方法(附代码)

    这次给大家带来JSON序列化与反序列化实现方法(附代码),JSON序列化与反序列化实现的注意事项有哪些,下面就是实战案例,一起来看一下. 一.JSON简介 JSON(JavaScript Object ...

  3. .net序列化与反序列化通用方法

    下面是序列化与反序列化通用的方法: 序列化 /// <summary> /// 序列化 /// </summary> /// <typeparam name=" ...

  4. IO流 (五) ----- 对象数据的序列化与反序列化

    相关文章: <IO流 (一) ----- 基本概念和File类> <IO流 (二) ----- 文件流> <IO流 (三) ----- 字符流和字符缓冲流> < ...

  5. python对文件的操作(一)序列化和反序列化

    1.文件操作 1.1 文件操作的流程 1.打开文件,得到文件句柄并赋值给变量. 2.通过句柄对文件进行操作. 3.关闭文件 1.2 从文件中读取数据 要使用文件中的信息,首先需要将信息读取到内存中,为 ...

  6. Java基础-序列化与反序列化

    序列化和反序列化在面试中也经常考查,下面就总结一下 Java 中的序列化和反序列化. 什么是序列化和反序列化? 序列化是将 Java 对象转换成与平台无关的二进制流,而反序列化则是将二进制流恢复成原来 ...

  7. 面试:什么是序列化,怎么序列化,为什么序列化,反序列化会遇到什么问题,如何解决?...

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | riemann_ 来源 | blog.csdn ...

  8. Java中如何引用另一个类里的集合_【18期】Java序列化与反序列化三连问:是什么?为什么要?如何做?...

    Java序列化与反序列化是什么? Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程: 序列化:对象序列化的最主要的用处就是在传递和保存对象 ...

  9. C# XML的序列化与反序列化

    主要2种方式1.BinaryFormatter  2.XmlSerializer 创建对象 [Serializable] //如果要想保存某个class中的字段,必须在class前面加个这样attri ...

  10. 什么是序列化,怎么序列化,为什么序列化,反序列化会遇到什么问题,如何解决。...

    作者:riemann_ blog.csdn.net/riemann_/article/details/87835260 遇到这个 Java Serializable 序列化这个接口,我们可能会有如下的 ...

最新文章

  1. c# websocketServer base64乱码
  2. list(列表) python
  3. PyTorch Upsample() 函数实现上采样
  4. Python学习笔记之六:在VS中调用Python
  5. 【C语言】控制台窗口图形界面编程(五):文本移动
  6. Linux下安装VMware Tools 的方法
  7. 诗与远方:无题(六十三)- 杂诗,然,矣
  8. 第四周作业 简单地邮件发送实现
  9. ajax加载时间长,如何最好地处理需要很长时间才能完成的ajax请求?
  10. 学习POI处理word
  11. 计算机主板的接口结构名称10,[pc玩家]主板接口大盘点,细数历年主流的主板接口:内部接口...
  12. mysql的exception_mysqlexception
  13. 示例代码-协方差,黎曼协方差计算.
  14. 江西省2021年工业互联网安全技术技能大赛
  15. clang++ exe error unable to execute command Couldnt execute program文件名或扩展名太长
  16. oracle物料单位错误,Oracle EBS 销售时物料保留出错相关症状和处理方法
  17. 爱康科技拟9.6亿元收购爱康光电 拓展光伏产业链
  18. echart js导出excel_echarts 导出excel
  19. 分享公众号抽奖的作用_微信公众号抽奖活动怎么弄
  20. 静态环形队列(C语言)

热门文章

  1. 【渝粤教育】电大中专Office办公软件_1作业 题库
  2. 国家开放大学2021春1078复变函数题目
  3. MySQL从查找数据库表到删除全过程
  4. ELK 架构之 Elasticsearch 和 Kibana 安装配置
  5. 测量软件应用系统的聚合复杂度【翻译稿】
  6. C# 获取UTC 转换时间戳为C#时间
  7. PHP常用正则类(全)
  8. HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术
  9. svn图文教程-宋正河整理
  10. IEnumerable和IEnumerator