序列化和反序列化
2015-09-28 10:35
246 查看
一、介绍
1.序列化和反序列化,我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,
反序列化就是在适当的时候把这个文件再转化成原来的对象使用。
2.把对象转换为字节序列的过程称为对象的序列化。
把字节序列恢复为对象的过程称为对象的反序列化。
3.序列化和反序列化的作用
4.常见的序列化方法
5.BinaryFormatter 的用法
6.MXL序列化的用法
7.序列化的优点
8.总结
1.序列化和反序列化,我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,
反序列化就是在适当的时候把这个文件再转化成原来的对象使用。
2.把对象转换为字节序列的过程称为对象的序列化。
把字节序列恢复为对象的过程称为对象的反序列化。
3.序列化和反序列化的作用
1>在进程下次启动时读取上次保存的对象的信息 2>、在不同的AppDomain或进程之间传递数据 3>、在分布式应用系统中传递数据
4.常见的序列化方法
1>、BinaryFormatter 2>、SoapFormatter 3>、XML序列化
5.BinaryFormatter 的用法
//BinaryFormatter将对象序列化到文件中 List<string> inputList = new List<string>() using (FileStream fsWriter = new FileStream(@"gz168168.tmp",FileMode.Create,FileAccess.Write))//存入的文件数据(序列化对象) { BinaryFormatter bf = new BinaryFormatter();// //序列化 bf.Serialize(fsWriter, inputList); } //BinaryFormatter将文件中的数据反序列化出来 List<string> outputList = new List<string>(); using (FileStream fsReader = new FileStream(@"gz168168.tmp",FileMode.Open,FileAccess.Read)) { BinaryFormatter bf = new BinaryFormatter(); //反序列化 outputList = (List<string>)bf.Deserialize(fsReader); }
6.MXL序列化的用法
List<string> inputList = new List<string>() using (FileStream fsWriter = new FileStream(@"test.xml",FileMode.Create,FileAccess.Write))//存入的文件数据(序列化对象) { XmlSerializer xs = new XmlSerializer(typeof(List<string>)); xs.Serialize(fsWriter, inputList); } //从test.xml文件中反序列化出来 List<string> outputList = new List<string>(); using (FileStream fsReader = new FileStream(@"test.xml",FileMode.Open,FileAccess.Read)) { XmlSerializer xs = new XmlSerializer(typeof(List<string>)); outputList = xs.Deserialize(fsReader) as List<string>; }
7.序列化的优点
二进制序列化的优点: 1. 所有的类成员(包括只读的)都可以被序列化; 2. 性能非常好。 XML序列化的优点: 1. 互操作性好; 2. 不需要严格的二进制依赖; 3. 可读性强
8.总结
序列化 1.得到一个存储对象的类型 2.创建一个写入文件流 3.定义要序列化的类型 4.调用序列化方法 反序列化: 1.定义一个装载对象的类型 2.创建一个读出文件流 3.定义要反序列化的类型 4.调用反序列化方法
相关文章推荐
- asp rs开启关闭问题
- SQL Server附加数据库出错:无法打开物理文件,操作系统错误5
- 文章标题
- CSS的定位原理
- RHL6.4 修改IP,主机名脚本
- kafka多线程消费
- CentOS 7关闭图形桌面开启文本界面
- Swift - 判端网络连接状态,连接类型(3G还是Wifi)
- ios 苹果官方的单例(学习)
- erlang HTTP 客户端 使用实例
- C#中Bitmap类 对图像の操作 可检测图片完整性
- 9月第3周网络安全报告:被篡改的.COM网站占75.8%
- Word产品需求文档,已经过时了
- spark使用Hive表操作
- spark使用Hive表操作
- spark使用Hive表操作
- mysql大数据相关优化记录
- Ajax同步和异步
- spark使用Hive表操作
- s:token-防止重复提交