我正在尝试反序列化存储在内存位置的 JSON 文件。我使用 flatC 编译器成功创建了所需的 POJO,但是当我将为 JSON 文件创建的 ByteBuffer 传递到 pojo 的根目录时,我得到了 IndexOutOfBoundsException。
java.lang.IndexOutOfBoundsException:索引=83946924,限制=1684,类型大小=4
用于从 JSON 文件转换字节数组
if(file != null) {
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[(int) file.length()];
for (int readNum; (readNum = fis.read(buf)) != -1; ) {
bos.write(buf, 0, readNum);
}
fis.close();
return bos.toByteArray();
}
这就是我创建 ByteBuffer 的方式
ByteBuffer bb = new ByteBuffer().wrap(input[]);
有人可以让我知道我在哪里失踪吗?