【发布时间】:2013-10-28 09:41:37
【问题描述】:
当我将条目写入这样的 zip 文件时:
ZipEntry ze = zin.getNextEntry();
while (ze != null) {
InputStream is = zf.getInputStream(ze);
zos.putNextEntry(ze);
int len;
while ((len = is.read(buffer)) >= 0) {
zos.write(buffer, 0, len);
}
zos.closeEntry();
ze = zin.getNextEntry();
}
我在第二个 while 循环中得到以下异常:
java.util.zip.ZipException: invalid code lengths set
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)
at java.io.FilterInputStream.read(FilterInputStream.java:107)
有人知道为什么会抛出这个异常,它是什么意思吗?
附:我应该提到我在 JBoss 7.1.1 上的侦听器上运行它,以便从不同的文件夹压缩各种日志文件。每个文件夹都有一个线程。使用多个线程的事实会导致这个问题吗?
【问题讨论】: