我正在尝试使用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,这也是没用的
另外,我查看了互联网上的其他几个资源但没什么用处。有人可以帮助我吗?
答案 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:\”),“”);
下载Truezip源文件包(jar)您需要在代码中导入类。
import de.schlichtherle.truezip.file.TArchiveDetector; import de.schlichtherle.truezip.file.TFile;
文件在c盘中解压缩......您可以对文件执行自己的操作。我希望这会有所帮助。
感谢。
答案 1 :(得分:-2)
Apache Commons Compress支持此功能。