gpt4 book ai didi

java - 如何在 Java 中解压缩字节数组

转载 作者:行者123 更新时间:2023-11-29 08:17:32 25 4
gpt4 key购买 nike

谁能告诉我如何解压字节数组?

这是我的代码。我已经尝试了很长时间,它给了我一个 DataFormatException

byte bArray[] = new byte[tSizeOfTile];
input.read(bArray, offset, limit);

byte[] unComp = new byte[bArray.length + 100];

Inflater inflate = new Inflater();
inflate.setInput(bArray);
inflate.inflate(unComp, offset, bArray.length + 100);
inflate.end();

最佳答案

嗯,一个明确的问题是您显然在使用 InputStream.read 时没有检查返回值。这意味着您读取的数据可能少于预期。

此外,您正在尝试从偏移量 膨胀到 unComp,但最大长度与 unComp.length 相同.这意味着如果 offset 不是 0,您可能会尝试写入超过数组的末尾。

您是指指向输入 数组的偏移量吗?我不相信那是它的意思。您应该使用 setInput提供输入数据。

但是,您可以使用 InflaterInputStream 而不是自己处理 Inflate,从而使所有这一切对您自己来说变得容易得多。

关于java - 如何在 Java 中解压缩字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3492349/

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