序列化以及反序列化
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 }
以上是关于序列化以及反序列化的主要内容,如果未能解决你的问题,请参考以下文章