C#.Net序列化,反序列化
二进制序列化,反序列化方法:
二进制序列化,反序列化方法:
private static Mutex mutex = new Mutex();
internal static bool Serialize(object obj, string objectName, string path)
{
try
{
mutex.WaitOne();
BinaryFormatter formatter = new BinaryFormatter();
System.IO.FileStream stream = System.IO.File.Create(path + objectName);
formatter.Serialize(stream, obj);
stream.Close();
mutex.ReleaseMutex();
return true;
}
catch (Exception e)
{
return false;
}
}
internal static object Deserialize(string path)
{
try
{
if (File.Exists(path))
{
System.IO.FileStream stream = System.IO.File.OpenRead(path);
stream.Seek(0, System.IO.SeekOrigin.Begin);
BinaryFormatter formatter = new BinaryFormatter();
object obj = (object)formatter.Deserialize(stream);
stream.Flush();
stream.Close();
return obj;
}
return null;
}
catch (Exception e)
{
return null;
}
}