我有一个大的原始数据文件(最大1GB),其中包含来自USB数据记录器的原始样本。
我需要存储与文件相关的额外信息(采样率,描述,触发点,最后搜索位置等),并考虑将其添加为某种标题。
头文件理想情况下应该是人类可读和灵活的,所以到目前为止我已经排除了某种二进制序列化到头文件中。
我还想避免使用两个单独的文件,因为它们在复制或备份时最终可能会分开。我记得有人告诉我,更新的*。* x Microsoft Office文档实际上是一个zip文件中的一些文件。有没有一种简单的方法来实现这一目标?我仍然可以将快速搜索时间保留在原始文件中吗?
更新
我开始使用二进制序列化程序,发现它很痛苦。我最终使用了xml序列化程序,因为我更习惯使用它。 我在xml文件的开头保留了一些空间。简单
答案 0 :(得分:1)
当您说要使标题可读时,建议在文本编辑器中打开文件。考虑到文件大小和(我假设),你真的想这样做,文件的其余部分是非人类可读的二进制数据吗?如果是,只需将文本标题数据写入二进制文件的开头 - 当文件打开时它将可见,但当然,文件的其余部分看起来像垃圾。
您可以创建一个未压缩的ZIP存档,可以允许您直接搜索二进制数据。有关创建ZIP存档的信息,请参阅此处:http://weblogs.asp.net/jgalloway/archive/2007/10/25/creating-zip-archives-in-net-without-an-external-library-like-sharpziplib.aspx