访问 zip 文件中文件的最快方法是啥?

Posted

技术标签:

【中文标题】访问 zip 文件中文件的最快方法是啥?【英文标题】:What is the fastest way to access files in a zip file?访问 zip 文件中文件的最快方法是什么? 【发布时间】:2011-05-27 15:57:51 【问题描述】:

从 zip 文件中读取单个文件(以随机方式)的最快方法是什么?

据我了解,zip 文件有一个存储单个文件条目的目录,我可以扫描该目录以构建外部索引。是否有任何标准化的方法(即现有的库)已经这样做了?或者我可以使用特殊类型的 zip 文件吗?

【问题讨论】:

【参考方案1】:

扫描目录并构建索引是提供对 zip 文件中存档的压缩条目的随机访问的最快和最佳方式。该目录通常很小,位于存档的末尾。如果您有可搜索的媒体,那么这就是您想要的。

zip 格式的文档很好;这并不难。然而,魔鬼在细节中。如果您的 zip 文件使用 ZIP64 扩展名、加密、拆分档案......那就是它变得棘手的时候。对于简单的 zip 文件,做你想象的事情并没有那么困难。

仍然使用外部库会更容易。

【讨论】:

【参考方案2】:

Minizip 似乎是一个很好的读写 zip 文件的库。它使用 zlib 库。

http://www.winimage.com/zLibDll/minizip.html

【讨论】:

以上是关于访问 zip 文件中文件的最快方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中浏览 XML 文件的最快方法是啥?

搜索硬盘中所有文件的最快方法是啥?

获取递归包含在目录中的文件列表的最快方法是啥?

在 Zend Studio for Eclipse 中查找文件的最快方法是啥?

如何在 C++ 中同时写入文件(换句话说,写入文件的最快方法是啥)

获取媒体文件持续时间的最快方法是啥?