创建二进制序列化器
1.序列化
/// <summary>序列化</summary>
public static void Serialize(string path, object obj)
{
FileStream fs = new FileStream(path, FileMode.Create);
BinaryFormatter ma = new BinaryFormatter();
ma.Serialize(fs, obj);
fs.Close();
}
2.反序列化
/// <summary>反序列化</summary>
public static T DeserializeModel<T>(string path)
{
if (File.Exists(path))
{
FileStream fs = new FileStream(path, FileMode.Open);
BinaryFormatter bf = new BinaryFormatter();
T t = (T)bf.Deserialize(fs);
fs.Close();
return t;
}
else return default(T);
}
创建xml序列化器
1.序列化
System.Xml.Serialization
public static void Serialize<T>(T o, string filePath)
{
XmlSerializer formatter = new XmlSerializer(typeof(T));
StreamWriter sw = new StreamWriter(filePath, false);
formatter.Serialize(sw, o);
sw.Flush();
sw.Close();
}
2.反序列化
public static T DeSerialize<T>(string filePath)
{
XmlSerializer formatter = new XmlSerializer(typeof(T));
StreamReader sr = new StreamReader(filePath);
T o = (T)formatter.Deserialize(sr);
sr.Close();
return o;
}