1个回答
展开全部
/// <summary>
/// 文件序列化与反序列化
/// </summary>
public class Serialize
{
/// <summary>
/// 将对象序列化
/// </summary>
/// <param name="FilePath">文件(支持绝大多数数据类型)</param>
/// <param name="obj">要序列化的对象(如哈希表,数组等等)</param>
public static void FileSerialize(string FilePath, object obj)
{
if (System .IO.File .Exists(FilePath))
{
try
{
FileStream fs = new FileStream(FilePath, FileMode.Create);
BinaryFormatter sl = new BinaryFormatter();
sl.Serialize(fs, obj);
fs.Close();
}
catch
{
MessageBox.Show("序列化存储失败!");
}
}
else
{
MessageBox.Show("您读取的文件对象不存在!");
}
}
/// <summary>
/// 将文件反序列化
/// </summary>
/// <param name="FilePath">文件路径(必须是经过当前序列化后的文件)</param>
/// <returns>返回 null 表示序列反解失败或者目标文件不存在</returns>
public static object FileDeSerialize(string FilePath)
{
if (System.IO.File.Exists(FilePath))
{
try
{
FileStream fs = new FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryFormatter sl = new BinaryFormatter();
object obg = sl.Deserialize(fs);
fs.Close();
return obg;
}
catch
{
return null;
}
}
else
{
return null;
}
}
}
使用范例:
string ConfigPath = @"C:\Loka.Mail\Config.dat";
// 将数组序列化
ArrayList ar = new ArrayList();
ar.Add("http://www.chianjiuquan.com");
ar.Add("中国酒泉网");
Serialize.FileSerialize( ConfigPath ,ar);
// 读取并反序列化
ArrayList ar = Me.File.Serialize.FileDeSerialize(ConfigPath) As ArrayList ;
/// 文件序列化与反序列化
/// </summary>
public class Serialize
{
/// <summary>
/// 将对象序列化
/// </summary>
/// <param name="FilePath">文件(支持绝大多数数据类型)</param>
/// <param name="obj">要序列化的对象(如哈希表,数组等等)</param>
public static void FileSerialize(string FilePath, object obj)
{
if (System .IO.File .Exists(FilePath))
{
try
{
FileStream fs = new FileStream(FilePath, FileMode.Create);
BinaryFormatter sl = new BinaryFormatter();
sl.Serialize(fs, obj);
fs.Close();
}
catch
{
MessageBox.Show("序列化存储失败!");
}
}
else
{
MessageBox.Show("您读取的文件对象不存在!");
}
}
/// <summary>
/// 将文件反序列化
/// </summary>
/// <param name="FilePath">文件路径(必须是经过当前序列化后的文件)</param>
/// <returns>返回 null 表示序列反解失败或者目标文件不存在</returns>
public static object FileDeSerialize(string FilePath)
{
if (System.IO.File.Exists(FilePath))
{
try
{
FileStream fs = new FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryFormatter sl = new BinaryFormatter();
object obg = sl.Deserialize(fs);
fs.Close();
return obg;
}
catch
{
return null;
}
}
else
{
return null;
}
}
}
使用范例:
string ConfigPath = @"C:\Loka.Mail\Config.dat";
// 将数组序列化
ArrayList ar = new ArrayList();
ar.Add("http://www.chianjiuquan.com");
ar.Add("中国酒泉网");
Serialize.FileSerialize( ConfigPath ,ar);
// 读取并反序列化
ArrayList ar = Me.File.Serialize.FileDeSerialize(ConfigPath) As ArrayList ;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询