使用BinaryWriter进行部分文件更新

本文关键字:文件 更新 行部 BinaryWriter 使用 | 更新日期: 2023-09-27 18:02:30

我正在寻找一种方法,通过这种方法我可以做部分更新,添加和删除键/值对从我的字典使用BinaryWriter的文件。用下面的代码覆盖一个完整的文件似乎很简单,但由于我可能有很多记录,大约26,000,我担心性能会成为一个问题。(我还没有运行测试来确认这一点)。

我需要它的上下文是通过HttpModule访问的缓存图像文件的持久索引。

我的出发点:

using (FileStream fileStream = File.Create(this.cachedIndexFile))
{
    using (BinaryWriter binaryWriter = new BinaryWriter(fileStream))
    {
        // Put the count.
        binaryWriter.Write(this.Count);
        // Put the values.
        foreach (var pair in this)
        {
            binaryWriter.Write(pair.Key);
            binaryWriter.Write(pair.Value.ToString());
        }
    }
}

如果框架中有更好的替代方案,我会很高兴地使用它们。BinaryWriter是我唯一知道的东西,寻找替代品被证明是徒劳的。

我在这里找到了这篇文章,但发现它很难理解,可下载的项目文件更困难。也许在此基础上可以找到解决方案?

使用BinaryWriter进行部分文件更新

根据评论中的建议,我认为数据库确实是最好的主意。我选择了SQLite