PR 8234: ZipInputStream chokes when InputStream.read() returns small chunks

Adam Megacz gcj@lists.megacz.com
Tue Oct 15 13:10:00 GMT 2002


Conclusive proof that java.util.zip is broken.
import java.io.*;
import java.net.*;
import java.util.zip.*;
public class test {
 public static void main(String[] s) throws Exception {
 InputStream is = new URL(" http://www.megacz.com/gcj-bug.zip").openStream();
 ZipInputStream zis = new ZipInputStream(new FilterInputStream(is) {
 public int read(byte[] b, int off, int len) throws IOException {
 int ret = 0;
 if (len > 32) len = 32;
 while (len > 0) {
 int read = super.read(b, off, len);
 if (read == -1) break;
 ret += read;
 len -= read;
 off += read;
 }
 return ret;
 }
 });
 while(zis.getNextEntry() != null) { }
 }
}
 - a
-- 
"Through your rags I see your vanity" -- Socrates


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /