public class buffer_test {code
public static void main(String[] args) { String s="hello word"; ByteBuffer b=ByteBuffer.allocate(1024); System.out.println(b.position()); System.out.println(b.limit()); System.out.println(b.capacity()); System.out.println(b.array()); System.out.println("put-------------"); b.put(s.getBytes()); System.out.println(b.position()); System.out.println(b.limit()); System.out.println(b.capacity()); System.out.println(b.array()); System.out.println("flip----------"); //切換模式 b.flip(); System.out.println(b.position()); System.out.println(b.limit()); System.out.println(b.capacity()); //讀緩衝器 System.out.println("read-------------"); byte [] c=new byte[b.limit()]; b.get(c); for(int i=0;i<c.length;i++) System.out.print((char)c[i]); System.out.println(); System.out.println(b.position()); System.out.println(b.limit()); System.out.println(b.capacity()); System.out.println("rewind---------"); //重複讀 b.rewind(); for(int i=0;i<c.length;i++) System.out.print((char)c[i]); System.out.println(); System.out.println(b.position()); System.out.println(b.limit()); System.out.println(b.capacity()); //把position位置給mark //b.mark(); //處理只是把位置回到最早的位置 System.out.println("clear=========="); b.clear(); System.out.println(b.position()); System.out.println(b.limit()); System.out.println(b.capacity()); //判斷是否爲直接緩衝區 System.out.println("-------------"); System.out.println(b.isDirect()); }
}ip