开门见山,从网上摘抄别人的列子!
1,BinaryFormatter 二进制序列化,生成二进制文件!
[Serializable]
public class MyObject
{
public int n1 = 0;
public int n2 = 0;
public String str = null;
}
将对象序列化并保存
MyObject obj = new MyObject();
obj.n1 = 1;
obj.n2 = 24;
obj.str = "一些字符串";
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("MyFile.bin", FileMode.Create,
FileAccess.Write, FileShare.None);
formatter.Serialize(stream, obj);
stream.Close();
读取二进制文件反序列化,显示对象数据
IFormatter formatter1 = new BinaryFormatter();
Stream stream1 = new FileStream("MyFile.bin", FileMode.Open,
FileAccess.Read, FileShare.Read);
MyObject obj1 = (MyObject)formatter1.Deserialize(stream1);
stream1.Close();
// 下面是证明
Console.WriteLine("n1: {0}", obj1.n1);
Console.WriteLine("n2: {0}", obj1.n2);
Console.WriteLine("str: {0}", obj1.str);
2,soap 首先添加 引用
序列化:
SoapFormatter soap = new SoapFormatter();
FileStream fs = new FileStream(@"c:/test.xml", FileMode.Create);
soap.Serialize(fs, new MyObject());
fs.Close();
Console.WriteLine("成功");
反序列化:
FileStream fs1= new FileStream(@"c:/test.xml", FileMode.Open);
Test t = (Test)soap.Deserialize(fs1);
Console.WriteLine(t.password);
fs1.Close();
3,xml 序列化