在代码中,我使用字节缓冲区从2个整数中生成一个字节数组。当我尝试将数组写入输出流时,我得到一个ArrayIndexOutOfBounds异常。 OutputSteam中write(array,offset,length)方法的长度参数相信数组要小于数组的长度,即使我从数组本身传递属性也是如此。我通过编写虚拟数据来检查文件是否足够大,但我仍然得到相同的异常。字节数组长度不正确
OutputStream out = new FileOutputStream("File");
ByteBuffer buff = ByteBuffer.alocate(Integer.BYTES*2);
buff.putInt(18);
buff.putInt(32);
byte[] array = buff.array();
out.write(array, 0, array.length); // Heres where the problem comes in
你的抵消是什么? –
该代码不是有效的Java。如果你需要帮助,你需要发布失败的_actual_ Java代码,而不是你的解释。同时发布堆栈跟踪并指出变量的值,如'offset'。 –
不,问题出现的时间比评论的时间早。目前,这是事实上,你张贴的代码甚至不会编译。 – GhostCat