3

What is the fastest way to read individual files (in a random fashion) from a zip file?

As I understand it, zip files have a directory that stores the individual file entries, and I could scan this directory to build an external index. Are there any standardized ways (i.e. existing libraries) that already do that? Or could I use a specialized type of zip file?

4

2 に答える 2

3

ディレクトリをスキャンしてインデックスを構築することは、zip ファイルにアーカイブされた圧縮エントリへのランダム アクセスを提供するための最速かつ最良の方法です。ディレクトリは通常小さく、アーカイブの最後にあります。シーク可能なメディアがある場合は、これが必要です。

zip 形式はかなり詳しく文書化されています。難しいことではありません。ただし、悪魔は細部に宿ります。zip ファイルが ZIP64 拡張子、暗号化、アーカイブの分割を使用している場合は、注意が必要です。単純な zip ファイルの場合、想像することはそれほど難しくありません。

それでも、外部ライブラリを使用する方が簡単です。

于 2011-05-27T16:41:33.993 に答える
3

Minizip は、zip ファイルの読み取りまたは書き込みに適したライブラリのようです。zlib ライブラリを使用します。

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

于 2011-05-27T16:12:27.347 に答える