Buffer中常用(必用)的几个方法介绍

首先介绍一下Buffer的使用场景,Buffer是Java NIO中非常重要的一个类,数据在各种Channel的读写时都需要这个类来缓冲。
然而Buffer在读写之前需要做一些准备工作,比如:在读取Buffer里的数据之前要先在Buffer里准备好要读取数据,往Buffer里写数据时,要找出Buffer里的空余空间或者要清空Buffer等等。做以上事情方法有:clear(), flip(), rewind().因为我经常记不住这几个方法的功能,所以在此记录一下, 也供他人查找。

Buffer有几个下标需要注意:position(当前位置), limit(可度/写数据 下标的最大值), capacity(实际空间)
1.clear()

使Buffer为一系列新的通道读取或相对放置 操作做好准备,即为往Buffer中写数据做好准备

  public final Buffer clear()
  {
    this.position = 0;
    this.limit = this.capacity;
    this.mark = -1;
    return this;
  }

 2. flip()
使Buffer为一系列新的通道写入或相对获取 操作做好准备:它将限制设置为当前位置,然后将位置设置为 0。即为从Buffer中度数据做好准备

 public final Buffer flip()
  {
    this.limit = this.position;
    this.position = 0;
    this.mark = -1;
    return this;
  }

3.rewind()
使缓冲区为重新读取已包含的数据做好准备:它使限制保持不变,将位置设置为 0。
 public final Buffer rewind()
  {
    this.position = 0;
    this.mark = -1;
    return this;
  }


Kyle Wang

posted on 2012-07-21 15:07 王树东 阅读(209) 评论(0)  编辑  收藏 所属分类: Java Skills Learning and Sharing


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

公告

常用链接

留言簿

随笔分类(17)

随笔档案(15)

文章分类(4)

文章档案(5)

收藏夹(4)

Algorithm

Design

Environment Setup

Installer

Maven

MINA

OS

Skills for Java

VIM

搜索

最新评论

阅读排行榜

评论排行榜