压缩太多文件



我在使用QuaZip时遇到了问题。

我有一个从zip存档中提取文件的程序。我使用的解压缩库已经有大约 10 年没有维护了,并且存档包含大约 65000 个文件时出现问题,所以我将我的程序转换为使用 QuaZip。

事实证明,QuaZip也有同样的问题。我有一个 7-Zip 显示的存档有 67946 个对象。QuaZip只能看到2397个文件。ZipInfo还仅显示2397个文件。这些工具似乎还没有针对较新的zip64格式进行更新,尽管QuaZip似乎确实使用了QuaZipFileInfo64,它可能支持ZIP64格式。此外,维基百科将QuaZip记录为支持新格式。

为 quazip 对象调用 getEntriesCount(( 返回 2397。 使用 JlCompress::getFileList 代码获取文件列表仅返回 2397。

不是100%确定我在问什么。QuaZip 是否支持存档中的超过 65500 个文件?如果是这样,有没有理由让它表现得好像没有?

正如我在上一条评论中怀疑的那样,中央目录标题中的条目数字段不正确,在创建时溢出。我想出的解决方案是删除unzGoToNextFile中的代码,该代码假定该条目是正确的。

最新更新