版权声明:士,不可以不弘毅,任重而道远 https://blog.csdn.net/superbeyone/article/details/85714606
文章目录
Java NIO ByteBuffer
1. 使用NIO进行文件读取所涉及的步骤:
- 从FileInputStream对象获取到Channel对象
- 创建Buffer
- 将数据从Channel中读取到Buffer对象中
2. 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就准备好了,但是不会覆盖未读的数据