C#序列化与反序列化
序列化
public void SerializeNow(object obj, string name)
{
FileStream fileStream = new FileStream(name + ".dat", FileMode.Create);
BinaryFormatter b = new BinaryFormatter();
if (obj is Article)
{
b.Serialize(fileStream, (Article)obj);
}
else if (obj is ArticleHandle)
{
b.Serialize(fileStream, (ArticleHandle)obj);
}
fileStream.Close();
}
反序列化
public void DeSerializeNow(object obj, string name)
{
FileStream fileStream = new FileStream(name + ".dat", FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryFormatter b = new BinaryFormatter();
if (obj is Article)
{
art = b.Deserialize(fileStream) as Article;
}
else if (obj is ArticleHandle)
{
hdl = b.Deserialize(fileStream) as ArticleHandle;
}
fileStream.Close();
}