从 zip 文件中读取单个文件(以随机方式)的最快方法是什么?
据我了解,zip 文件有一个存储单个文件条目的目录,我可以扫描这个目录来构建一个外部索引。是否有任何标准化的方法(即现有的库)已经这样做了?或者我可以使用特殊类型的 zip 文件吗?
Minizip 似乎是一个用于读取或写入 zip 文件的好库。它使用 zlib 库。
扫描目录并构建索引是提供对 zip 文件中存档的压缩条目的随机访问的最快和最佳方式。该目录通常很小,位于存档的末尾。如果您有可搜索的媒体,那么这就是您想要的。
zip 格式的文档非常好;这并不难。然而,魔鬼在细节中。如果您的 zip 文件使用 ZIP64 扩展名、加密、拆分档案......那就是它变得棘手的时候。对于简单的 zip 文件,做你想象的事情并没有那么困难。
使用外部库仍然会更容易。