首页 > 代码库 > 持久化一个对象
持久化一个对象
1.对象与文件之间序列化/反序列化
public static void SerializeToFile<T>(T obj,string dataFile) { using (FileStream fileStram = File.Create(dataFile)) { BinaryFormatter binSerializer = new BinaryFormatter(); binSerializer.Serialize(fileStram, obj); } } public static T DeserializeFromFile<T>(string dataFile) { T obj = default(T); using (FileStream fileStream = File.OpenRead(dataFile)) { BinaryFormatter binSerializer = new BinaryFormatter(); obj =(T)binSerializer.Deserialize(fileStream); } return obj; }
测试:
static void Main(string[] args) { ArrayList list = new ArrayList() { "Zero", "One", "Two" }; SerializeHelper.SerializeToFile(list, "HT.data"); ArrayList list2 = SerializeHelper.DeserializeFromFile<ArrayList>("HT.data"); foreach (var item in list2) { Console.WriteLine(item.ToString()); } Console.ReadKey(); }
2.对象与字节流之间序列化/反序列化
public static byte[] Serialize<T>(T obj) { using (MemoryStream memStream = new MemoryStream()) { BinaryFormatter binSerializer = new BinaryFormatter(); binSerializer.Serialize(memStream, obj); return memStream.ToArray(); } } public static T Deserialize<T>(byte[] serializedObj) { T obj = default(T); using (MemoryStream memStream = new MemoryStream(serializedObj)) { BinaryFormatter binSerializer = new BinaryFormatter(); obj = (T)binSerializer.Deserialize(memStream); } return obj; }
持久化一个对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。