NIO的buffer的理解

NIO对文件得读写过程:

创建一个Buffer,先把文件写入到buffer中,再由buffer写入目标文件可见buffer有着重要作用。
关键字
    buffer核心是一个固定长度的数组,主要有3个概念:capaticy,position,limit
    position:类似于指针,表示当前指向的位置
    capaticy:数组的最大长度
    limit:代表最大能写入(读)的数据
示意图


    当数组中只有4个元素时,limit=4表示最多能读4个数据,limit=capaticy代表最多能写capaticy-4个数据

常用的方法
    buffer.flip();--将写模式变为读模式。源码如下
 

    public  final Buffer flip(){
        //将写模式下的最后位置设为limit位置
        limit=position;
        //指针指向第一个元素,读模式下从头开始读
        position= 0;
        mark=-1;
        return this;
    }

    buffer.clear();--用于写模式,清空buffer
 

    public final Buffer clear(){
        //指针指向第一个元素
        position = 0;
        //将limit设为最大值
        limit = capaticy;
        mark=-1;
        retur  this;
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值