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

时间:2012-07-02 03:15:43

标签: java zip self-extracting

我正在尝试使用java代码阅读自解压缩zip(位于此处ftp://ftp.dnr.state.oh.us/OilGas/Download/Production/By_Year/2010Production.exe)。

我尝试了三种方法,即How can I read from a Winzip self-extracting (exe) zip file in Java?

中提到的方法

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

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

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

2 个答案:

答案 0 :(得分:0)

在这种情况下,TrueZip效果最佳。 (至少在我的情况下)

自解压缩zip的格式为code1 header1 file1(普通zip格式为header1 file1)...代码告诉如何解压缩

虽然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:\”),“”);

您可以从此处http://repo1.maven.org/maven2/de/schlichtherle/truezip/truezip-samples/7.5.5/truezip-samples-7.5.5-jar-with-dependencies.jar

下载Truezip源文件包(jar)

您需要在代码中导入类。

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

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

感谢。

答案 1 :(得分:-2)

Apache Commons Compress支持此功能。