如何将二进制文件读入序列化列表
本文关键字:序列化 列表 二进制文件 | 更新日期: 2023-09-27 18:18:29
我有一个事件列表,并使用以下代码将其保存在二进制文件中
using (FileStream fs = new FileStream(fileName, FileMode.CreateNew))
{
using (BinaryWriter w = new BinaryWriter(fs))
{
foreach (MacroEvent macroEvent in events)
{
w.Write(macroEvent.TimeSinceLastEvent);
}
}
}
,但我很困惑,我如何阅读,并得到它再次在一个列表?
对于想要使用BinaryFormatter进行序列化和反序列化的对象,如何实现isserializable,下面的方法是一个很好的指南:
http://www.switchonthecode.com/tutorials/csharp-tutorial-serialize-objects-to-a-file这是关于BinaryFormatter的。NET 4.0文档:
http://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatters.binary.binaryformatter.aspx和ISerializable:
http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspxSequential file access File using serialization
Add
Using system.Io
Using system.Runtime.Serialzation.Formatters.Binary
Using System.Runtime.Serialization
Using Macro Events
name space created fileform : macroform
//Object For serializing RecordSerializables in binary format
Private Binary formatter = new binaryFormatter();
Private file stream output; //stream for writing to a file
使用方法Deserialize读取数据将Deserialize的结果转换为可序列化的类型,此转换是必要的,因为Deserialize返回类型object的引用,并且需要访问属于serializable类的属性。如果在反序列化过程中抛出错误抛出序列化并关闭文件流
Private BinaryFormatter = new BinaryFormatter();
Private文件流输入;//从文件