博爲峯小博老師:java
Buffer的常見方法以下所示:app
l flip(): 寫模式轉換成讀模式操作系統
l rewind():將 position重置爲0,通常用於重複讀。code
l clear():清空buffer,準備再次被寫入 (position變成0,limit變成capacity) 。blog
l compact(): 將未讀取的數據拷貝到buffer的頭部位。ip
l mark(): reset():mark 能夠標記一個位置,reset 能夠重置到該位置。ci
l Buffer常見類型: ByteBuffer 、 MappedByteBuffer 、 CharBuffer 、 DoubleBuffer 、 FloatBuffer 、 IntBuffer 、 LongBuffer 、 ShortBuffer 。get
[通道Channel]it
通道(Channel)是 java.nio 的第二個主要創新。它們既不是一個擴展也不是一項加強,而是全新、極好的 Java I/O 示例,提供與 I/O 服務的直接鏈接。Channel 用於在字節緩衝區和位於通道另外一側的實體(一般是一個文件或套接字)之間有效地傳輸數據。io
通道是一種途徑,藉助該途徑,能夠用最小的總開銷來訪問操做系統自己的 I/O 服務。緩衝區則是通道內部用來發送和接收數據的端點。通道channel充當鏈接I/O服務的導管,入下圖所示: