使用Java压缩文件:是否有限制?

caa*_*os0 12 java backup zip gzip tar

我正在使用Java为我的应用程序创建一个备份例程.但是,当zip文件超过4GB或文件(大约)超过65,000时,zip文件已损坏.

我也在测试Apache Commons Compression压缩到tar.gz,但文件名限制为100个字符.我想测试这个压缩到压缩的API,但我想知道java zip的问题究竟是什么.

所以,真正的问题是:我做错了什么,它是Java Zip实现的限制,还是Zip格式本身的限制?

谢谢.

MRA*_*RAB 14

引自维基百科:

原始ZIP格式对各种事物(文件的未压缩大小,文件的压缩大小和存档的总大小)具有4 GiB限制,以及ZIP存档中的65535个条目的限制.

和ZIP64:

Java内置的java.util.zip不支持它作为2010年9月,但它已被添加到OpenJDK的,并计划包含在Java 7中.


NPE*_*NPE 5

据报告,此错误已在Java 7中修复:http//bugs.sun.com/view_bug.do?bug_id = 4681995

该票证上的一位评论者提到TrueZIP是一种解决方法。