文章目錄
-
- Java NIO ByteBuffer
-
- 1. 使用NIO進行檔案讀取所涉及的步驟:
- 2. `mark`,`position`,`limit`,`capacity` 四者之間的關系
- 3. flip()方法
- 4. clear()方法
- 5. compact()方法
Java NIO ByteBuffer
1. 使用NIO進行檔案讀取所涉及的步驟:
- 從FileInputStream對象擷取到Channel對象
- 建立Buffer
- 将資料從Channel中讀取到Buffer對象中
2. mark
, position
, limit
, capacity
四者之間的關系
mark
position
limit
capacity
0 <=<=
mark
<=
position
<=
limit
capacity
3. flip()方法
當讀操作轉換成寫操作,或者寫操作轉換成讀操作時,須調用flip()方法。
作用:
- 将limit值設為目前的position
- 将position設為0
4. clear()方法
作用:
- 将position值設為0
- 将limit值設為capacity
5. compact()方法
作用:
- 将所有未讀的資料複制到buffer起始位置處
- 将position設為最後一個未讀元素的後面
- 将limit設為capactiy
- 此時buffer就準備好了,但是不會覆寫未讀的資料