gpt4 book ai didi

java - jzlib 1.0.7 : ArrayOutOfBoundException in ZOutputStream. 写()

转载 作者:太空宇宙 更新时间:2023-11-04 08:39:29 25 4
gpt4 key购买 nike

我有一个简单的测试用例,在 jzlib 中产生肯定的 ArrayOutOfBoundException1.0.7 取决于随后写入同一个实例的数据ZOutputStream 的。

堆栈跟踪:

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 的错误。在四处搜索时,我发现其他地方有您的帖子,并附有源文件和数据文件。看来你没有做错什么。您应该能够将任何字节序列流式传输到 ZOutputStream

您使用 JZlib 有什么特殊原因吗?我理解使用它的两个主要原因是支持 Z_PARTIAL_FLUSH 模式和许可。如果您不需要该刷新模式并且您正在使用 Oracle JVM,那么您应该可以使用包含的 DeflaterOutputStream 。在代码中将其替换为 ZOuputStream 不会出现异常。

关于java - jzlib 1.0.7 : ArrayOutOfBoundException in ZOutputStream. 写(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5646101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com