在此方案中,存储数据的最佳方式是什么(没有序列化 - 只使用Stream + BinaryWriter / BinaryReader),以便快速轻松地访问文件。
DataContainer包含10个文件,每个文件为1 mb。
如果我需要写入/读取文件5,它应该只读取10 mb容器的那一部分,并使用唯一的名称/ ID标识符返回1mb,可能存储在标题中。当您希望更新容器中间的文件时会出现问题,因为索引将在流中更改(如果更新的对象大于或小于现有的对象)
如何在更新时不必重写整个datacontainer来处理这个问题?
我希望自己写这个,而不是使用预先存在的库。
有什么想法吗?
答案 0 :(得分:0)
我认为您可以存储文件大小而不是索引,因此您可以计算索引。例如,考虑容器: 文件大小 1 10 2 15 3 20 4 25 文件4的索引简单地计算为10 + 15 + 20。