我正在寻找一种提取 Zip 文件的方法。到目前为止,我已经尝试过 java.util.zip 和 org.apache.commons.compress,但都给出了损坏的输出。
基本上,输入是一个包含一个 .doc 文件的 ZIP 文件。
java.util.zip:输出损坏。org.apache.commons.compress:输出空白文件,但大小为 2 mb。
到目前为止,只有像 Winrar 这样的商业软件才能完美运行。有没有利用这个的java库?
这是我使用 java.util 库的方法:
public void extractZipNative(File fileZip)
{
ZipInputStream zis;
StringBuilder sb;
try {
zis = new ZipInputStream(new FileInputStream(fileZip));
ZipEntry ze = zis.getNextEntry();
byte[] buffer = new byte[(int) ze.getSize()];
FileOutputStream fos = new FileOutputStream(this.tempFolderPath+ze.getName());
int len;
while ((len=zis.read(buffer))>0)
{
fos.write(buffer);
}
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally
{
if (zis!=null)
{
try { zis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
非常感谢,迈克