【问题标题】:ZLib unzip a zip containing multiple filesZLib 解压一个包含多个文件的 zip
【发布时间】:2012-05-16 15:19:32
【问题描述】:

我正在使用 delphi 7 并且需要解压缩包含多个文件的压缩 zip 文件,我找到了如何使用 ZLib 解压缩单个文件的示例,但在 zip 中找不到任何包含多个文件的示例,会不会有人可以给我一个例子或指出我的方向

谢谢

科林

【问题讨论】:

  • ZLib ZipZLib 是一个通用的数据压缩库,而Zip 是一个压缩和文件格式库。仅仅因为它们都以Z 开头并不能使它们兼容。 :) 要使用Zip 文件,请使用Zip 库,例如Abbrevia(由@ErikKnowles 下面提到)。如果你想使用ZLib,你必须找到一个用Zip-compatible文件I/O包装它的库,因为ZLibZip头文件和多个文件一无所知。
  • @Ken 感谢您的信息

标签: delphi delphi-7 zlib


【解决方案1】:

如果您在使用 zlib 时遇到问题,也许您可​​能需要考虑 TurboPower 的 Abbrevia(可在 SourceForge 获得)。使用 Abbrevia,这是我们的多文件提取代码:

zip.ArchiveType := atZip ;
zip.ForceType := true ;
zip.OpenArchive({...your .zip archive name});

zip.BaseDirectory :=  {...your extract path...} ;
zip.OnConfirmOverwrite := Overwrite
zip.ExtractFiles('*');

有处理提取失败、确认覆盖等的选项。这是一个非常不错的库,而且是免费的。

【讨论】:

    【解决方案2】:

    zlib.net 上的 zlib 源代码分发中有一个示例。看看contrib/minizip/miniunz.c

    【讨论】:

      猜你喜欢
      • 2018-08-02
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      相关资源
      最近更新 更多