Hm, apparently this is an ongoing issue in the JDK. The previous bugfix just covered sizes from 2GB-4GB, and that's fixed, but we still can't zip/unzip files larger than 4GB. See
bug 4681995. Doesn't sound like that will be fixed right away - JDK 6 seem to still contain this problem. There may be a 3rd-partly library somewhere that can do this, but I didn't find one in my quick googling. (I tried "java zip64 library".) Perhaps your best option from
Java right now is to use Runtime.exec() to execute some other non-Java program, like pkzip or gzip, or even Java's jar command. (Assuming that can handle such huge files; I don't know.) That's a somewhat ugly solution, but at the moment it looks like maybe zip64 support is just not available yet as a pure-Java solution. Or, you could read the specs carefully and write your own decompressor, I suppose, but that's probably a lot harder than using exec() would be. Good luck...