1. 程式人生 > >java nio buffer

java nio buffer

buffer 操作 post 寫入 元素 自動增加 交互 自動 bsp

java nio buffer是用來同java nio channel交互的。我們將channel中的數據讀取到buffer中,把buffer中的數據寫到channel中。

buffer本質上就是一塊內存,我們先寫數據,然後再去讀。寫就是把channel中的數據寫入buffer中,讀就是說,把buffer中的數據讀出來使用。java nio Buffer對象就是來管理這塊內存的,簡化對該塊內存的操作。

1 java nio buffer的基本使用

4個步驟:

第一步,將channel中的數據寫入nio buffer中;

第二步,調用buffer的flip()函數,將buffer的寫模式轉換成讀模式;

第三步,從nio buffer中讀取數據;

第四步,調用buffer clear方法。

2 nio buffer的capacity、position和limit

nio buffer的capacity是固定的。position就是讀寫的位置,每讀寫一個元素,它會自動增加1,調用flip()函數會reset這個position到0。limit是寫的數據的總大小,有了它再讀的時候就知道要讀到哪裏為止了,在寫了之後,調用flip()函數的時候,會將limit設置成當前的position。

java nio buffer