1. byte 數組轉byteBuffer
public static ByteBuffer byte2Byffer(byte[] byteArray) {
ByteBuffer buffer=ByteBuffer.allocate(byteArray.length);
buffer.put(byteArray);
buffer.flip();
return buffer;
}
2. byteBuffer 轉 byte數組
public static byte[] bytebuffer2ByteArray(ByteBuffer buffer) {
buffer.flip();
int len=buffer.limit() - buffer.position();
byte [] bytes=new byte[len];
for (int i = 0; i < bytes.length; i++) {
bytes[i]=buffer.get();
}
return bytes;
}
3.測試以上兩個方法
public static void main(String[] args) {
byte [] a=new byte[] {1,2,4,5,6,7,8,9};
System.out.println("-----------byte2Byffer轉換前----------");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+",");
}
ByteBuffer buffer=byte2Byffer(a);
System.out.println();
System.out.println("-----------byte2Byffer轉換後----------");
int len=buffer.limit()-buffer.position();
for (int i = 0; i < len; i++) {
System.out.print(buffer.get()+",");
}
System.out.println("\n-----------bytebuffer2ByteArray轉換後----------");
byte [] dest=bytebuffer2ByteArray(buffer);
for (int i = 0; i < dest.length; i++) {
System.out.print(dest[i]+",");
}
}
4.測試結果
-----------byte2Byffer轉換前----------
1,2,4,5,6,7,8,9,
-----------byte2Byffer轉換後----------
1,2,4,5,6,7,8,9,
-----------bytebuffer2ByteArray轉換後----------
1,2,4,5,6,7,8,9,