此方法位於: Buffer是一個用於特定基本類型數據的容器。 緩衝區是特定基本類型元素的線性有限序列。除內容外,緩衝區的基本屬性還包括容量(capacity)、限制(limit)和位置(position):
緩衝區的capacity是它所包含的元素的數量。緩衝區的capacity不能爲負而且不能更改。字體
緩衝區的limit 是第一個不該該讀取或寫入的元素的索引。緩衝區的limit不能爲負,而且不能大於其capacity。spa
緩衝區的position是下一個要讀取或寫入的元素的索引。緩衝區的位置不能爲負,而且不能大於其limit。對於每一個非 boolean 基本類型,此類都有一個子類與之對應。code
在使用緩衝區進行輸入輸出數據以前,必須肯定緩衝區的position,limit都已經設置了正確的值。orm
若是如今想用這個緩衝區進行信道的寫操做,因爲write()方法將從position指示的位置開始讀取數據,在limit指示的位置中止,所以在進行寫操做前,先要將limit的值設爲position的當前值,再將position的值設爲0。這個操做能夠經過這個flip()方法實現。索引
flip()
使緩衝區爲一系列新的通道寫入或相對獲取 操做作好準備:它將限制設置爲當前位置,而後將位置設置爲0,即上邊的要求(紅色字體表示)。ip
因此,上邊的操做步驟爲:buffer.flip();ci
out.write(buffer);it