关于java.util.zip的问题,主要是ZipEntry中getSize()返回值为-1。(附测试源码)
我写了很简单的zip和unzip程序,但是由zip程序打包好的文件在unzip的时候发现所有ZipEntry的size都是-1(用WinRAR打的zip包不会出现问题)。
我在zip程序中已经为每个ZipEntry都setSize了
之后发现setCRC校验,把mehtod改成STORED之后,size的问题解决了,但是在字频程序中会出现下面的异常:
java.util.zip.ZipException: invalid entry crc-32 (expected 0x0 but got 0xea200eb7)
我看了JDK的src,可能的原因是ZipOutputStream的crc值和ZipEntry的不符,晕。。。
实在没有解决的方法了
各位有遇到过类似的问题么?帮帮忙,多谢了
或者有第三方的zip包吗?Apache的common里面有个项目是相关的,但是还没有发布版本,特别是zip这块儿,只有ZipOutputStream,还没有ZipInputStream的实现
简单测试的源码我发在下一贴中