Java网络编程从入门到精通(34):读写缓冲区中的数据---使用get和put方法按顺序读写单个数据
2009-10-28 00:00:00 来源:WEB开发网核心提示: 在图2所示的缓冲区状态下调用rewind方法,就会得到如图4的缓冲区状态,Java网络编程从入门到精通(34):读写缓冲区中的数据---使用get和put方法按顺序读写单个数据(4),图4 调用rewind方法后的缓冲区状态接下来让我们执行如下语句:System.out.println(byte
在图2所示的缓冲区状态下调用rewind方法,就会得到如图4的缓冲区状态。
图4 调用rewind方法后的缓冲区状态
接下来让我们执行如下语句:
System.out.println(byteBuffer.get());
缓冲区的状态将如图5所示。
图5 调用get方法后的缓冲区状态
缓冲区除了position和capacity外,还提供了一个标识来限制缓冲区可访问的范围。这个标识就是limit。limit和position一样,在缓冲区类中也提供了两个重载方法。用于获得和设置limit的值。limit方法的定义如下:
public final int limit()
public final Buffer limit(int newLimit)
在初始状态下,缓冲区的limit和capacity值相同。但limit和capacity的区别是limit可以通过limit方法进行设置,而capacity在创建缓冲区时就已经指定了,并且不能改变。(在上面所讲的position方法的newPosition参数的取值范围时曾说是0 <= newPosition < capacity,其实严格地说,应是0 <= newPosition < limit)limit的其他性质和capacity一样。如在图5所示的缓冲区状态中将limit的值设为2,就变成了图6所示的状态。
更多精彩
赞助商链接