序列化以及反序列化

Posted skyphs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了序列化以及反序列化相关的知识,希望对你有一定的参考价值。

将文件保存序列化至文档中,然后再读取:

//首先创建可序列化的实体类

[Serializable]

public class Message
{
public string Name { get; set; }
public int Age { get; set; }
public DateTime Time { get; set; }
public char Gender { get; set; }
}

 

下面是序列化保存文件,以及反序列化读取文件

 1 private void btn_Click(object sender,EventArgs e){
 2 
 3 Message ms=new Message()
 4 
 5 {
 6   Name=this.txt_name.Text.trim().tostring(),
 7 
 8   Age=Convert.Toint32(this.txt_age.Text.trim()),
 9 
10   Time=Convert.ToDateTime(this.txt_time.text.trim()),
11 
12   Gender=Convert.Tochar(this.txt_gender.text.trim())
13 };
14 
15 this.writerFile(ms);
16 
17 }
18 
19 private void writeFile(object Message){
20   //创建序列化文件
21 
22   FileStream fs=new FileStream("MessageFileName",FileMode.Create)
23 
24   //创建二进制格式化器
25 
26   BinaryFormatter bf=new BinaryFormatter();
27 
28   //将对象序列化
29 
30   bf.Serialize(fs,Message);
31 
32   fs.close();
33 
34 }
35 
36 
37 
38 //反序列化  将文本信息反序列化读取出来
39 
40 private void btn_read_Click( Object sender,EventArgs e){
41   ReadFile();
42 }
43 
44 private void ReadFile(){
45   //打开序列化文件
46 
47   FileStream fs=new FileStream("MessageName",FileMode.Open)
48 
49   BinaryFormatter bf=new BinaryFormatter();
50 
51   //将文件反序列化
52 
53   Message ms=(Message)bf.Deserialize(fs);
54 
55   //进行赋值
56 
57   txt_name.text=ms.Name.tostring();
58 
59   fs.Close();
60 }

 

以上是关于序列化以及反序列化的主要内容,如果未能解决你的问题,请参考以下文章

一行代码实现iOS序列化与反序列化

序列化以及反序列化

JSON的序列化和反序列化eval()和parse()方法以及stringfy()方法

今晚拿下PHP反序列化的一系列操作

Python代码审计实战案例总结之反序列化和命令执行!

ThinkPHP5.1.x 反序列化