public class BinarySerialize
{
string strFile = "c:""book.data";
public void Serialize(Book book)
{
using (FileStream fs = new FileStream(strFile, FileMode.Create))
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(fs, book);
}
}
public Book DeSerialize()
{
Book book;
using (FileStream fs = new FileStream(strFile, FileMode.Open))
{
BinaryFormatter formatter = new BinaryFormatter();
book = (Book)formatter.Deserialize(fs);
}
return book;
}
}
----------------------------------------------------------------------------------
public class SoapSerialize
{
string strFile = "c:""book.soap";
public void Serialize(Book book)
{
using (FileStream fs = new FileStream(strFile, FileMode.Create))
{
SoapFormatter formatter = new SoapFormatter();
formatter.Serialize(fs, book);
}
}
public Book DeSerialize()
{
Book book;
using (FileStream fs = new FileStream(strFile, FileMode.Open))
{
SoapFormatter formatter = new SoapFormatter();
book = (Book)formatter.Deserialize(fs);
}
return book;
}
}
---------------------------------------------------------------
public class XmlSerialize
{
string strFile = "c:""book.xml";
public void Serialize(Book book)
{
using (FileStream fs = new FileStream(strFile, FileMode.Create))
{
XmlSerializer formatter = new XmlSerializer(typeof(Book));
formatter.Serialize(fs, book);
}
}
public Book DeSerialize()
{
Book book;
using (FileStream fs = new FileStream(strFile, FileMode.Open))
{
XmlSerializer formatter = new XmlSerializer(typeof(Book));
book = (Book)formatter.Deserialize(fs);
}
return book;
}
}
采用xml序列化的方式只能保存public的字段和可读写的属性,对于private等类型的字段不能进行序列化
出现循环引用的情况,对于BinarySerialize和SoapSerialize可以正常序列化(.NET内部进行处理了),对于XmlSerialize出现这种情况会报错:"序列化类型 SerializableTest.Book 的对象时检测到循环引用。"
分享到:
相关推荐
hbasesink 自定义序列化类 ,可实现自定义rowkey及去除字段两边索引,具体请看下代码。 hbasesink 自定义序列化类 ,可实现自定义rowkey及去除字段两边索引,具体请看下代码。
一个c#的json序列化和反序列化类,调用很简单
sql语句序列化类,通过此类可以直接调用任何数据库!
详细解释了C++对类的序列化的原理,通过这个,可以自己编译出可以序列化和反序列化的代码来,而不再用MFC的宏,本想0积分的,但确实是自己慢慢测试编译的,好歹也有辛苦分,高手勿喷,新手共勉。
Windows-MFC程序-07.MFC序列化机制和序列化类对象
序列化和反序列化的封装类,只要调用就行 序列化和反序列化的封装类 序列化和反序列化的封装类 序列化和反序列化的封装类 序列化和反序列化的封装类
Java 中 Serializable的应用,序列化的作用说明
自己收集的序列化代码,有些改动.针对C# 2.0用 实现自定义化,特殊化的Json结构也是有用的. Json2Object Object2Json DataTable2Json List2Json
C#自定义可序列化的Dictionary类型
Jackson-datatype-money - 开源的Jackson模块,支持Java货币数据类型的JSON序列化和反序列化
之前在Java里面,实现序列化和反序列化,不管是 jackson ,还是 fastjson 都非常的简单。现在有项目需要用Python来开发,很自然的希望这样的便利也能在Python中体现。 但是在网上看了一些教程,讲反序列化的时候,...
什么叫序列化? 我们都知道对象是暂时保存在内存中的,不...在进行这些操作的时候都需要这个可以被序列化,要能被序列化,就得给类头加[Serializable]特性。 通常网络程序为了传输安全才这么做。不知道回答清晰满意否?
方法调用即可完成序列化
Parcelable和Serializable两种序列化实现,大家自行搜索关于两种序列化的优劣以及具体的序列化方式。 、
类的序列化与反序列化 类的序列化与反序列化 类的序列化与反序列化
C++ JSON 序列化与反序列化 相关的博客文章见:http://blog.csdn.net/TragicGuy
boost类序列化
二进制序列化:对象序列化之后是二进制形式的,通过BinaryFormatter类来实现的,这个类位于System.Runtime.Serialization.Formatters.Binary命名空间下。 SOAP序列化:对象序列化之后的结果符合SOAP协议,也就是可以...
C#序列化与反序列化类-源代码,支持将类和任何C#对象序列化到文件
该程序主要应用类的序列化的知识,实现将程序中存储大量数据的实体类或结构序列化到本地磁盘。当需要时再将本地序列化的类还原到程序中去。并且应用该技术实现了文件的快速拷贝,大规模数据的存储。