文件流的使用以及序列化和反序列化的方法使用
步骤一:引入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
文件流的使用以及序列化和反序列化的方法使用相关推荐
- 程序验证Jackson反序列化的规则、Jackson序列化与反序列化关键方法程序详细分析
目录 0. 为什么要做这个分析 1. Jackson反序列化时,无参构造.有参构造的执行顺序[附程序截图] 1.1 没有无参构造时: 1.2 无参构造和有参构造方法都有的时候先走无参构造: 2. Ja ...
- php json字符串序列化,JSON序列化与反序列化实现方法(附代码)
这次给大家带来JSON序列化与反序列化实现方法(附代码),JSON序列化与反序列化实现的注意事项有哪些,下面就是实战案例,一起来看一下. 一.JSON简介 JSON(JavaScript Object ...
- .net序列化与反序列化通用方法
下面是序列化与反序列化通用的方法: 序列化 /// <summary> /// 序列化 /// </summary> /// <typeparam name=" ...
- IO流 (五) ----- 对象数据的序列化与反序列化
相关文章: <IO流 (一) ----- 基本概念和File类> <IO流 (二) ----- 文件流> <IO流 (三) ----- 字符流和字符缓冲流> < ...
- python对文件的操作(一)序列化和反序列化
1.文件操作 1.1 文件操作的流程 1.打开文件,得到文件句柄并赋值给变量. 2.通过句柄对文件进行操作. 3.关闭文件 1.2 从文件中读取数据 要使用文件中的信息,首先需要将信息读取到内存中,为 ...
- Java基础-序列化与反序列化
序列化和反序列化在面试中也经常考查,下面就总结一下 Java 中的序列化和反序列化. 什么是序列化和反序列化? 序列化是将 Java 对象转换成与平台无关的二进制流,而反序列化则是将二进制流恢复成原来 ...
- 面试:什么是序列化,怎么序列化,为什么序列化,反序列化会遇到什么问题,如何解决?...
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | riemann_ 来源 | blog.csdn ...
- Java中如何引用另一个类里的集合_【18期】Java序列化与反序列化三连问:是什么?为什么要?如何做?...
Java序列化与反序列化是什么? Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程: 序列化:对象序列化的最主要的用处就是在传递和保存对象 ...
- C# XML的序列化与反序列化
主要2种方式1.BinaryFormatter 2.XmlSerializer 创建对象 [Serializable] //如果要想保存某个class中的字段,必须在class前面加个这样attri ...
- 什么是序列化,怎么序列化,为什么序列化,反序列化会遇到什么问题,如何解决。...
作者:riemann_ blog.csdn.net/riemann_/article/details/87835260 遇到这个 Java Serializable 序列化这个接口,我们可能会有如下的 ...
最新文章
- c# websocketServer base64乱码
- list(列表) python
- PyTorch Upsample() 函数实现上采样
- Python学习笔记之六:在VS中调用Python
- 【C语言】控制台窗口图形界面编程(五):文本移动
- Linux下安装VMware Tools 的方法
- 诗与远方:无题(六十三)- 杂诗,然,矣
- 第四周作业 简单地邮件发送实现
- ajax加载时间长,如何最好地处理需要很长时间才能完成的ajax请求?
- 学习POI处理word
- 计算机主板的接口结构名称10,[pc玩家]主板接口大盘点,细数历年主流的主板接口:内部接口...
- mysql的exception_mysqlexception
- 示例代码-协方差,黎曼协方差计算.
- 江西省2021年工业互联网安全技术技能大赛
- clang++ exe error unable to execute command Couldnt execute program文件名或扩展名太长
- oracle物料单位错误,Oracle EBS 销售时物料保留出错相关症状和处理方法
- 爱康科技拟9.6亿元收购爱康光电 拓展光伏产业链
- echart js导出excel_echarts 导出excel
- 分享公众号抽奖的作用_微信公众号抽奖活动怎么弄
- 静态环形队列(C语言)