我正在尝试从现有的字节数组创建一个全新的字节数组。我的existingBtyeArray
从索引0-16开始有metadata1
,索引从16-33开始有metadata2
,然后其余的就被称为remaining
,可以说它从索引33开始到100。现在字节数组的顺序如下:
existingBtyeArray = metadata1 (0 - 16) + metadata2 (16 - 33) + remaining (33 - 100)
我想将metadata2
移动到保留在新字节数组中的末尾,如下所示:
newByteArray = metadata1 + remaining + metadata2
这怎么办?
答案 0 :(得分:2)
这可以通过使用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;
}