bug in ZipInputStream
Erik Poupaert
erik.poupaert@chello.be
Sun Dec 15 17:30:00 GMT 2002
>>>>> If you have a small, self-contained example program, go ahead and
submit it. I can at least try it out against 3.3 and see whether it
is fixed.
I'm using gcj-3.2-20021210-1.tar.gz onder minGW, win2K. I just took the
xml-apis.jar file from the Ant distribution, renamed it to xml-apis.zip and
tried the following program:
The following program doesn't work:
import java.util.zip.*;
import java.io.*;
public class TestZipInputStream
{
public static void main(String args[]) throws Exception
{
ZipInputStream zipInputStream=new ZipInputStream(new
FileInputStream("xml-apis.zip"));
while(zipInputStream.available()==1)
{
ZipEntry zipEntry=zipInputStream.getNextEntry();
if(zipEntry!=null)
{
System.out.println(zipEntry.isDirectory() + " " + zipEntry.getName());
}
}
}
}
If I compile it with javac, it works. With gcj, it doesn't. I get:
true META-INF/
false META-INF/MANIFEST.MF
"Exception in thread "main" java.util.zip.ZipException: bad/missing magic
number at end of .zip entry
He reads correctly the directory entries at the beginning of the zipfile,
but as soon as a non-directory entry shows up, it fails.
By the way, I've tried it on a zip with only directory entries, and that
works fine.
More information about the Java
mailing list