zoukankan
html css js c++ java
序列化和反序列化
序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,就使得数据能够被轻松地存储和传输。
序列化简单点来理解就是把内存的东西写到硬盘中
,
当然也可以写到内存中
(
这个内容我会在后面写一个例子
).
而反序列化就是从硬盘中把信息读到内存中
.
就这么简单
,
呵呵
。
序列化和反序列化用于将一个对象保存到文件,从文件读取:
using
System.IO;
using
System.Runtime.Serialization.Formatters.Binary;
[Serializable()]
//
可以序列化的类需要用这个属性标记
public
class
ToBeSerialized
{
public
int
a;
public
string
b;
public
ToBeSerialized(
int
a,
string
b)
{
this
.a
=
a;
this
.b
=
b;
}
}
public
class
Test
{
public
void
Serialize()
//
序列化
{
ToBeSerialized tbs
=
new
ToBeSerialized(
22
,
"
SOM
"
);
Stream fs
=
File.Create(
"
Serialized.txt
"
);
BinaryFormatter serializer
=
new
BinaryFormatter();
serializer.Serialize(fs, tbs);
fs.Close();
}
public
void
DeSerialize()
//
反序列化
{
ToBeSerialized restore;
Stream fs
=
File.OpenRead(
"
Serialized.txt
"
);
BinaryFormatter deserializer
=
new
BinaryFormatter();
restore
=
(ToBeSerialized)(deserializer.Deserialize(fs));
//
反序列化得到的对象
fs.Close();
}
}
查看全文
相关阅读:
Java 中最常见的 5 个错误
在 Java EE 组件中使用 Camel Routes
virtualenv 环境下 Nginx + Flask + Gunicorn+ Supervisor 搭建 Python Web
[译]如何使用 Docker 组件开发 Django 项目?
7 天玩转 ASP.NET MVC
如何开发一个自己的 RubyGem?
[译] 提高日志质量的 5 大技巧
Ruby Profiler 详解之 stackprof
总结 | 如何测试你自己的 RubyGem
第十一节:讲述类的继承,数据库,文件的读写,图形绘制
原文地址:https://www.cnblogs.com/engine1984/p/864125.html
最新文章
2019-8-30-C#-从零开始写-SharpDx-应用-笔刷
2019-9-2-dotnet-命名管道名字长度限制
2019-9-2-dotnet-命名管道名字长度限制
2018-9-2-WPF-开发自动开机启动程序
2018-9-2-WPF-开发自动开机启动程序
2019-8-31-asp-dotnet-core-支持客户端上传文件
2019-8-31-asp-dotnet-core-支持客户端上传文件
2019-7-22-WPF-如何判断两个-LinearGradientBrush-相等
linux route路由
exit()与_exit()的区别
热门文章
自旋锁和互斥锁
字节对齐
windows抓包工具Wireshark(过滤)
linux抓包工具tcpdump
setsockopt()函数使用
vm-install 模版创建虚拟机
xenserver增加新硬盘
XenServer三类快照
01 词云实例
JavaScript 性能分析新工具 OneProfile
Copyright © 2011-2022 走看看