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。