我在解壓縮使用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