使用Buffer

本文介绍了Java NIO中的Buffer概念及其重要属性,包括capacity、limit和position。讲解了Buffer的四种主要操作:flip、rewind、clear和compact,以及mark和reset方法。并提供了一个使用ByteBuffer实现文件拷贝的示例代码,展示了Buffer在文件I/O中的应用。
摘要由CSDN通过智能技术生成

NIO是Java New IO 的简称,是在Java 4 中提供的新特性 。NIO为所有的原始类型提供缓存支持、字符集编码解码解决方案。支持锁和内存映射文件的文件访问接口,提供多路(non-bloking) 非阻塞式的高伸缩性网络I/O 。

10.6.1  使用Buffer

Buffer是一个包装了基本数据元素数组的对象,是 NIO 数据读或写的中转地。Buffer有四个基本属性,分别是:

1、capacity :buffer能够容纳的最大元素数目;

2、limit buffer:buffer中有效位置数目;

3、position :下一个读或者写的位置;

4、mark:  用于记忆的标志位。

Buffer 常用的方法有:

1、flip():写模式转换成读模式;flip()方法会改变limit属性,将limit属性从capacity设置为当前position。两次调用buffer的flip方法,将使得position和limit属性都为0。

2、rewind() :将position 重置为 0 ,一般用于重复读;

3、clear() :清空buffer ,准备再次被写入;

4、compact(): 将未读取的数据拷贝到 buffer 的头部位;

5、mark() :mark标记一个位置;
6、 reset():重置位置。

下面就是一个使用Buffer实现文件拷贝的例子,代码如清单10-14所示。

清单10-14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值