代码之家  ›  专栏  ›  技术社区  ›  Paul Farry

更正损坏的ZIP文件头

  •  7
  • Paul Farry  · 技术社区  · 16 年前

    我以前一直在使用Chilkat Zip.Net从我的应用程序生成备份文件,但是在组件出现问题之后,为了相同的功能,我转到了Xceed Zip.Net。

    如果使用Chilkat生成的一个zip并尝试使用Xceed、7Zip、WinZip进行提取,那么它将失败。

    如果使用Chilkat、windowszip、WinRar提取同一个文件,那么该文件的提取就可以了。

    你建议我怎么做?

    1. 阅读Zip文件,查找必要的Zip标记(如规范中所定义的),然后更正中心头。
    2. 其他一些组合。
    1 回复  |  直到 16 年前
        1
  •  2
  •   Nickolay Olshevsky    16 年前

    这取决于程序生成的备份数。 也许,从程序中或者用手将它们解压/再压缩会更容易。 但是,如果有很多文件,更好的方法是修复中央目录记录字段-您应该编写代码,这 2) 对于每个记录,转到存储本地文件头的位置,并读取文件大小; 4) 当心大文件,如果它们是-文件大小大于4Gb的文件是用扩展名写的。