1

在这种情况下,为了快速轻松地访问文件,存储数据的最佳方式是什么(无序列化 - 仅使用 Stream + BinaryWriter/BinaryReader)。

DataContainer 包含 10 个文件,每个文件为 1 mb。

如果我需要写入/读取文件 5,它应该只读取 10 mb 容器的那一部分,并使用可能存储在标题中的唯一名称/ID 标识符返回 1mb。当您希望更新容器中间的文件时会出现问题,因为索引将在流中更改(如果更新的对象大于或小于现有对象)

如何在更新时无需重写整个数据容器来处理这个问题?

我希望自己写这个,而不是使用预先存在的库。

有任何想法吗?

4

1 回答 1

0

我认为您可以存储文件大小而不是索引,因此您可以计算索引。例如,考虑容器:文件大小 1 10 2 15 3 20 4 25 文件 4 的索引简单地计算为 10+15+20。

于 2012-12-21T09:44:32.250 回答