我正在尝试将从文件中读取的字节数组(fileData)复制到另一个字节数组(子数据)(在代码下方:]
ByteBuffer inputBuffer = decoderInputBuffers[intBufIndex];
int limit = inputBuffer.capacity();
int pos = frameIndex * limit;
byte[] subData = new byte[limit];
System.arraycopy(fileData, pos, subData, 0, subData.length);
我的问题是为什么我会收到此错误?
java.lang.ArrayIndexOutOfBoundsException: src.length=732542 srcPos=0 dst.length=1572864 dstPos=0 length=1572864
自从我明确地说出数组的大小以来,甚至还有可能。
如果您查看文档(在注释中有linknd),它说该函数的最后一个参数是:
length-这是要复制的数组元素的数量。
因此,如果您仔细观察,您正在尝试从732542数组中复制1572864,这就是为什么您会得到异常的原因