我想知道,你如何在java中解压缩zip文件?
我第一次尝试:
String source = "forge.zip";
String destination = "some/destination/folder";
try {
zipFile = new ZipFile(source);
zipFile.extractAll(destination);
} catch (ZipException e) {
e.printStackTrace();
}
它表示zpFile没有extractAll方法。 这是真的吗?
答案 0 :(得分:1)
我不知道你有什么问题。但是我在ZipInputStream
和ZipEntry
s之前已经多次这样做了,我知道这会有效:
File dir = new File(destDir);
if(!dir.exists()) dir.mkdirs();
FileInputStream fis;
byte[] buffer = new byte[1024];
try {
fis = new FileInputStream(zipFilePath);
ZipInputStream zis = new ZipInputStream(fis);
ZipEntry ze = zis.getNextEntry();
while(ze != null){
String fileName = ze.getName();
File newFile = new File(destDir + File.separator + fileName);
new File(newFile.getParent()).mkdirs();
FileOutputStream fos = new FileOutputStream(newFile);
int len;
while ((len = zis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
fos.close();
zis.closeEntry();
ze = zis.getNextEntry();
}
zis.closeEntry();
zis.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}