1

我正在尝试使用 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,同样没用

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

4

2 回答 2

0

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

您将需要在代码中导入类。

导入 de.schlichtherle.truezip.file.TArchiveDetector;导入 de.schlichtherle.truezip.file.TFile;

文件解压到c盘...您可以对文件执行自己的操作。我希望这有帮助。

谢谢。

于 2012-07-02T16:37:29.823 回答
-2

Apache Commons Compress支持这一点。

于 2012-07-02T04:11:29.403 回答