我在解压缩使用Java的ZIP文件时遇到了问题。方法如下。使用Java ZipFile解压ZIP文件类
一旦文件解压缩,文件结构就是正确的,这意味着ZIP文件内的目录没问题,但文件输出长度为零。
我检查了ZIP文件,看压缩是否正确,在那里都正确。
,如果有人看到的东西,请我已经错过了......
public static void unzip (File zipfile, File directory) throws IOException {
ZipFile zip = new ZipFile (zipfile);
Enumeration<? extends ZipEntry> entries = zip.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = entries.nextElement();
File file = new File (directory, entry.getName());
if (entry.isDirectory()) {
file.mkdirs();
}
else {
file.getParentFile().mkdirs();
ZipInputStream in = new ZipInputStream (zip.getInputStream (entry));
OutputStream out = new FileOutputStream (file);
byte[] buffer = new byte[4096];
int readed = 0;
while ((readed = in.read (buffer)) > 0) {
out.write (buffer, 0, readed);
out.flush();
}
out.close();
in.close();
}
}
zip.close();
}
更多的东西......很显然,方法的getInputStream(项)将返回零个字节,不知道到底为什么。
你有没有尝试过一些调试? in.read()调用是否会返回一些字节? – leonbloy 2012-03-22 20:32:14
请勿在环内冲洗。 – EJP 2016-06-09 03:40:26