确定自定义二进制文件格式的块偏移量

时间:2017-06-05 03:33:01

标签: c# file

我一直在研究为应用程序保存数据创建自定义二进制文件格式。我当前的系统将组件数据存储在单独的文件中,因为它需要能够随意写入/读取它们。如果没有改变,我不想写大块数据,或者当我需要的只是一块时,我不想读取整个文件。

但是,我想将相关数据合并到一个二进制文件中,所以我一直在寻找使用“偏移”的方法,这样可以让我在不读取整个文件的情况下读取特定数据。

然而,我不理解的一件事是如何设置偏移量。

例如,假设我想保存包含一些文本和任意数量图像的文件。根据我的理解,我有两个选择:

  1. 在每个块上写下“迷你标题”,说明其类型和长度,因此告诉读者要跳过多远。
  2. 为每件作品预先分配空间,所以我不必阅读长度,但也浪费空间,可能没有留下足够的空间。
  3. 第一个选项听起来更可取,假设我的事实是正确的。有没有我没有列出的选项?这些选项中的任何一个都更好/更有效吗?

0 个答案:

没有答案