Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

java.io.EOFException: Unexpected end of ZLIB input stream

166 views
Skip to first unread message

ilya

unread,
Dec 22, 2010, 5:21:05 AM12/22/10
to
ZipInputStream in = new ZipInputStream(new FileInputStream(file));
in.getNextEntry();
OutputStream out = new FileOutputStream(outFile);
int mayRead = in.available();
byte[] buf = new byte[BUFFER_SIZE];
int len;
while ((len = in.read(buf, 0, Math.min(mayRead, BUFFER_SIZE)))
> 0) {
out.write(buf, 0, len);
}
in.closeEntry();
out.close();
in.close();

BUFFER_SIZE = 1024;

To unpack the zipped file I use the above method. On windows all works
fine. But on MAC I got the following error:
java.io.EOFException: Unexpected end of ZLIB input stream
at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:
223)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:
141)
at java.util.zip.ZipInputStream.read(ZipInputStream.java:154)
at java.io.FilterInputStream.read(FilterInputStream.java:90)

How can I solve it?

Arne Vajhøj

unread,
Dec 25, 2010, 3:41:00 PM12/25/10
to

The .available() method is not very reliable - I would avoid that.

Just read up to BUFFER_SIZE.

Have you verified that the zip file is actually readable on
MacOS X. The exception could be caused by file corruption - like
transferring the file as text instead of binary.

Arne


0 new messages