Hallo,
ich hab ein kleines Problem mit der get Funktion von ByteBuffer. Mein Sourcebuffer ist ca. 950000 lang. Nun möchte ich ein Segment in Form eines Bytearray haben, z.B. von der Position 5 die nächsten 64 byte. Die Methode funktioniert, wenn der Offset 0 ist. Benutzt man einen Offset größer 0 bekomme ich eine java.lang.IndexOutOfBoundsException. Bin dankbar für jeden weiteren Hinweis auf meinen Fehler.
ich hab ein kleines Problem mit der get Funktion von ByteBuffer. Mein Sourcebuffer ist ca. 950000 lang. Nun möchte ich ein Segment in Form eines Bytearray haben, z.B. von der Position 5 die nächsten 64 byte. Die Methode funktioniert, wenn der Offset 0 ist. Benutzt man einen Offset größer 0 bekomme ich eine java.lang.IndexOutOfBoundsException. Bin dankbar für jeden weiteren Hinweis auf meinen Fehler.
Java:
/*
* getSubarray(offset,length, ByteBuffer)
* @ param offset Number of Startbyte of the subarray in full array
* @ param subarraylength Length of subarray
* @ param Sourcearray Full Array from which the subarray comes from
* @return Bytearray
*/
private byte[] getSubarray(int offset, int subarraylength, ByteBuffer Sourcebuffer){
return Sourcebuffer.get(new byte[subarraylength],offset,subarraylength).array();
}
Zuletzt bearbeitet: