我试图使用 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 支持这一点。