Java将字节数组索引范围重建为新的字节数组
我正在尝试从现有的字节数组创建一个全新的字节数组。我的Java将字节数组索引范围重建为新的字节数组,java,arrays,byte,Java,Arrays,Byte,我正在尝试从现有的字节数组创建一个全新的字节数组。我的existingBtyeArray从索引0-16中有metadata1,从索引16-33中有metadata2,剩下的将被称为remaining,假设它从索引33到100。现在字节数组的顺序如下: existingBtyeArray = metadata1 (0 - 16) + metadata2 (16 - 33) + remaining (33 - 100) newByteArray = metadata1 + remaining +
existingBtyeArray
从索引0-16中有metadata1
,从索引16-33中有metadata2
,剩下的将被称为remaining
,假设它从索引33到100。现在字节数组的顺序如下:
existingBtyeArray = metadata1 (0 - 16) + metadata2 (16 - 33) + remaining (33 - 100)
newByteArray = metadata1 + remaining + metadata2
我想将metadata2
移到新字节数组的剩余部分,如下所示:
existingBtyeArray = metadata1 (0 - 16) + metadata2 (16 - 33) + remaining (33 - 100)
newByteArray = metadata1 + remaining + metadata2
如何做到这一点 这可以通过使用
System.arraycopy
复制阵列的一部分来完成
public static byte[] reconstruct(byte[] arr){
byte[] result = new byte[arr.length];
System.arraycopy(arr, 0, result, 0, 16); //copy metadata1
System.arraycopy(arr, 33, result, 16, arr.length-33); //copy remaining
System.arraycopy(arr, 16, result, 16 + arr.length-33, 33-16); //copy metadata2
return result;
}
这可以通过使用
System.arraycopy
复制阵列的一部分来完成
public static byte[] reconstruct(byte[] arr){
byte[] result = new byte[arr.length];
System.arraycopy(arr, 0, result, 0, 16); //copy metadata1
System.arraycopy(arr, 33, result, 16, arr.length-33); //copy remaining
System.arraycopy(arr, 16, result, 16 + arr.length-33, 33-16); //copy metadata2
return result;
}