第1个回答 2015-11-04
java NIO中的Buffer的array()方法在能够读和写之前,必须有一个缓冲区,用静态方法 allocate() 来分配缓冲区:
ByteBuffer buffer = ByteBuffer.allocate(1024);
allocate() 方法分配一个具有指定大小的底层数组,并将它包装到一个缓冲区对象中 — 在本例中是一个 ByteBuffer。
还可以将一个现有的数组转换为缓冲区:
byte array[] = new byte[1024];
ByteBuffer buffer = ByteBuffer.wrap(array);
本例使用了 wrap() 方法将一个数组包装为缓冲区。一旦完成包装,底层数据就可以通过缓冲区或者直接访问