Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jzlib 1.0.7:ZOutputStream.write()中的ArrayOutOfBoundException_Java_Jzlib - Fatal编程技术网

Java jzlib 1.0.7:ZOutputStream.write()中的ArrayOutOfBoundException

Java jzlib 1.0.7:ZOutputStream.write()中的ArrayOutOfBoundException,java,jzlib,Java,Jzlib,我有一个简单的测试用例,在jzlib中生成一个可靠的BoundException数组 1.0.7取决于随后写入同一实例的数据 佐特普特河的 堆栈跟踪: java.lang.ArrayIndexOutOfBoundsException: 587 at com.jcraft.jzlib.Tree.d_code(Tree.java:149) at com.jcraft.jzlib.Deflate.compress_block(Deflate.java:691) at com.j

我有一个简单的测试用例,在jzlib中生成一个可靠的BoundException数组 1.0.7取决于随后写入同一实例的数据 佐特普特河的

堆栈跟踪:

java.lang.ArrayIndexOutOfBoundsException: 587
    at com.jcraft.jzlib.Tree.d_code(Tree.java:149)
    at com.jcraft.jzlib.Deflate.compress_block(Deflate.java:691)
    at com.jcraft.jzlib.Deflate._tr_flush_block(Deflate.java:897)
    at com.jcraft.jzlib.Deflate.flush_block_only(Deflate.java:772)
    at com.jcraft.jzlib.Deflate.deflate_slow(Deflate.java:1195)
    at com.jcraft.jzlib.Deflate.deflate(Deflate.java:1567)
    at com.jcraft.jzlib.ZStream.deflate(ZStream.java:133)
    at com.jcraft.jzlib.ZOutputStream.write(ZOutputStream.java:102)
    at com.jcraft.jzlib.JZLibTestCase.main(JZLibTestCase.java:51)
       at JZLibTestCase.main(JZLibTestCase.java:28)
该问题很少发生,并取决于随后的数据 从jzlib写入一个开放的ZOutputStream


你有没有提示如何解决这个问题?你听说过这个吗?

就我所知,你可能已经在JZlib中发现了一个bug。在四处搜索时,我发现其他地方也有你的帖子,附有源文件和数据文件。看来你没有做错什么。您应该能够将任何字节序列流传输到
ZOutputStream


您使用JZlib有什么特别的原因吗?我理解使用它的两个主要原因是支持Z_PARTIAL_FLUSH模式和许可。如果您不需要这种刷新模式,并且使用的是Oracle JVM,那么您应该可以使用附带的。在代码中用它代替ZOuputStream毫无例外。

我可以告诉你,你可能发现了JZlib的一个bug。在四处搜索时,我发现其他地方也有你的帖子,附有源文件和数据文件。看来你没有做错什么。您应该能够将任何字节序列流传输到
ZOutputStream


您使用JZlib有什么特别的原因吗?我理解使用它的两个主要原因是支持Z_PARTIAL_FLUSH模式和许可。如果您不需要这种刷新模式,并且使用的是Oracle JVM,那么您应该可以使用附带的。在代码中用它代替ZOuputStream毫无例外。

我还没有找到使用jzlib的具体原因,但可以肯定的是,在多处理器系统上的JRE 1.4中使用java.util.zip时,确实存在一个bug,尽管没有人能够具体告诉我是哪一个。从那时起,我们一直在使用jzlib,它已经运行了很多年。很可能已经修好了。尽管如此,使用java.util.zip处理我的简单测试数据的方式与jzlib失败的方式相同,这是真的。

我还没有找到使用jzlib询问同事的具体原因,但可以肯定的是,在多处理器系统上的JRE 1.4中,使用java.util.zip确实存在错误,虽然没有人能具体地告诉我是哪一个。从那时起,我们一直在使用jzlib,它已经运行了很多年。很可能已经修好了。尽管如此,使用java.util.zip处理我的简单测试数据的方式与jzlib失败的方式相同,这是真的。

是的,根据要压缩的数据,jzlib中是否存在明显的错误,我已经向JCraft报告了。是的,根据要压缩的数据,jzlib中是否存在明显的错误,我已经向JCraft报告了。