using System;
using System.Text;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
class SerializableOperate
{
private static void ObjectSerializable(object obj, string filePath)
{
FileStream fs = null;
try
{
fs = new FileStream(filePath, FileMode.Create);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, obj);
}
catch (IOException ex)
{
Console.WriteLine("序列化是出错!");
}
finally
{
if (fs != null)
{
fs.Close();
}
}
}
private static object ObjectUnSerializable(string filePath)
{
FileStream fs = null;
object obj = null;
try
{
fs = new FileStream(filePath, FileMode.OpenOrCreate);
BinaryFormatter bf = new BinaryFormatter();
obj = bf.Deserialize(fs);
}
catch (IOException ex)
{
Console.WriteLine("反序列化时出错!");
}
finally
{
if (fs != null)
{
fs.Close();
}
}
return obj;
}
static void Main(String[] args)
{
List<string> list = new List<string>{
"张三","李四","王五","赵柳","刘备"
};
string filePath = "c:\\log.log";
Console.WriteLine("开始序列化集合!请稍等...");
SerializableOperate.ObjectSerializable(list, filePath);
Console.WriteLine("开始反序列化集合!请稍等...");
list = (List<String>)SerializableOperate.ObjectUnSerializable(filePath);
foreach (string str in list)
{
Console.WriteLine(str);
}
}
}
对象序列化与反序列化
最新推荐文章于 2025-11-26 01:49:17 发布
本文介绍了一个简单的C#程序实现对象的序列化和反序列化过程。通过BinaryFormatter类将List<string>类型的数据序列化为二进制文件,并能够从该文件中反序列化出原始数据。示例代码展示了如何处理序列化和反序列化过程中可能出现的异常。
1924

被折叠的 条评论
为什么被折叠?



