在 JAVA 中读取/提取自解压 zip



我试图使用 java 代码读取一个自解压的 zip(位于此处 ftp://ftp.dnr.state.oh.us/OilGas/Download/Production/By_Year/2010Production.exe)。

我尝试了三种方法,如何在 Java 中读取 Winzip 自解压 (exe) zip 文件中提到的一种?

第二个是下载 exe 文件并将其重命名为 zip(认为作弊可能有效),然后尝试读取它......他们两个都没有用。

最后一个使用7-ZIP LZMA SDK,这也没用

另外,我查看了互联网上的其他几个资源,但没有任何用处。有人可以帮我吗?

在这种情况下

,TrueZip效果最好。(至少就我而言)

自解压 zip 的格式如下 code1 header1 file1(

而普通 zip 的格式为 header1 file1)...代码告诉如何提取zip。

尽管 Truezip 提取实用程序抱怨额外的字节并抛出异常

这是代码

 private boolean Extract(String src, String dst, String incPath) {

    TFile srcFile = new TFile(src, incPath);
    TFile dstFile = new TFile(dst);
    try {
        TFile.cp_rp(srcFile, dstFile, TArchiveDetector.NULL);
    } catch (IOException e) {
       return true;
    }
    return true;
}

你可以调用这个方法,如 Extract(new String("C:\2006Production.exe"), new String("c:\") , ");

您可以从这里下载 Truezip 源文件包 (jar) http://repo1.maven.org/maven2/de/schlichtherle/truezip/truezip-samples/7.5.5/truezip-samples-7.5.5-jar-with-dependencies.jar

您需要在代码中导入类。

import de.schlichtherle.truezip.file.TArchiveDetector;import de.schlichtherle.truezip.file.TFile;

文件在 c 驱动器中提取...您可以对文件执行自己的操作。我希望这有所帮助。

谢谢。

Apache Commons Compress 支持这一点。

相关内容

  • 没有找到相关文章

最新更新