将数据(对象)转换为文件格式字节数组
本文关键字:格式 文件 字节 字节数 数组 转换 数据 对象 | 更新日期: 2023-09-27 18:36:10
我想将一些测量数据保存到一个文件中。为了在其他应用程序中使用该文件,我必须将数据带入特定的文件格式。我有一个包含以下信息的表格:
- 抵消
- 字节
- 类型
- 描述
对于标头的每个元素。
因此,我必须以这种格式转换对象的所有信息。有没有简单的方法可以做到这一点?制作一个大字节数组并将此信息填充到数组中是正确的方法吗?
如果要转换数据并写入文件,只需转换并写入即可。这是最简单的方法。示例代码:
struct Data
{
int offset;
byte[] bytes;
byte type;
string description;
}
void WriteDataToStream(Stream outputStream, List<Data> data)
{
using(var bw = new BinaryWriter(outputStream))
{
foreach(var d in data)
{
bw.Write(d.offset);
bw.Write(d.bytes, 0, d.bytes.Length);
bw.Write(d.type);
bw.Write(d.description);
}
}
}
流可能FileStream
。请注意,BinaryWriter
将在 Dispose 关闭基流,但您可以显式转换数据并自行以字节数组的形式写入基流。
其他方式,您可以实现ISerealizable
接口。我认为这将是最简单的。