2:序列化对象
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.Xml.Serialization; using System.IO;
3:反序列化得到对象2.1 二进制方式 ClassTest Ct = new ClassTest(); Ct.SetUserInfo(textBox1.Text, textBox2.Text); IFormatter Fm = new BinaryFormatter(); Stream stream = new FileStream(@"E:"测试"类序列化"类序列化测试"类序列化测试"myfile.bin", FileMode.Create, FileAccess.ReadWrite, FileShare.None); Fm.Serialize(stream, Ct); stream.Close(); 2.2 XML 方式 ClassTest Ct = new ClassTest(); Ct.SetUserInfo(textBox1.Text, textBox2.Text); XmlSerializer Xs = new XmlSerializer(typeof(ClassTest)); StreamWriter myWriter = new StreamWriter(@"E:"测试"类序列化"类序列化测试"类序列化测试"myfile.xml"); Xs.Serialize(myWriter, Ct); myWriter.Close();
这两种方式,二进制方式,文件小速度快,但不易阅读;XML 方式相对文件大一点,速度稍慢。但可读性较好IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream(@"E:"测试"类序列化"类序列化测试"类序列化测试"myfile.bin", FileMode.Open, FileAccess.Read, FileShare.Read); ClassTest obj = (ClassTest)formatter.Deserialize(stream); stream.Close();