码迷,mamicode.com
首页 > 其他好文 > 详细

序列化与反序列化

时间:2014-10-16 13:24:42      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   os   ar   for   文件   

<1>

http://wenku.baidu.com/view/f15ac821dd36a32d737581e0.html

把对象转换为字节序列的过程称为对象的序列化。     把字节序列恢复为对象的过程称为对象的反序列化。

序列化

序列化

将此类的一个实例序列化为一个文件:
【MyFile.bin  这个文件是把obj对象序列化后持久化存储的文件】

MyObject obj = new MyObject(); 

obj.n1 = 1; 

obj.n2 = 24; 

obj.str = "一些字符串"; 

IFormatter formatter = new BinaryFormatter(); 

Stream MyStream = new FileStream("MyFile.bin", FileMode.Create, 

FileAccess.Write, FileShare.None); 

formatter.Serialize(MyStream, obj); 

stream.Close(); 


反序列化


反序列化

这里说的是将一个MyFile.bin文件通过反序列化,转换成一个obj对象
【filestream 读取这个文件流,然后用.net的序列化器反序列化成对象】

IFormatter formatter = new BinaryFormatter(); 

Stream MyStream = new FileStream("MyFile.bin", FileMode.Open, 

FileAccess.Read, FileShare.Read); 

MyObject obj = (MyObject) formatter.Deserialize(MyStream); 

stream.Close(); 


xml

将此类的实例序列化成一个Xml文件


XmlSerializer ser = new XmlSerializer(obj.GetType());  

ser.Serialize(new FileStream(@"users.xml", FileMode.Create), obj); 


反序列化
 

XmlSerializer serializer = new XmlSerializer(Type.GetType("MyObject"));  

MyObject my=(MyObject)serializer.Deserialize(new FileStream(@"users.xml",FileMode.Open)); 





序列化与反序列化

标签:des   style   blog   http   color   os   ar   for   文件   

原文地址:http://blog.csdn.net/fanbin168/article/details/40145669

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!