WEB开发网
开发学院软件开发Java Java网络编程从入门到精通(34):读写缓冲区中的... 阅读

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的缓冲区状态。

Java网络编程从入门到精通(34):读写缓冲区中的数据---使用get和put方法按顺序读写单个数据 

图4  调用rewind方法后的缓冲区状态

接下来让我们执行如下语句:

System.out.println(byteBuffer.get());

缓冲区的状态将如图5所示。

Java网络编程从入门到精通(34):读写缓冲区中的数据---使用get和put方法按顺序读写单个数据 

图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所示的状态。

上一页  1 2 3 4 5 6  下一页

Tags:Java 网络编程 入门

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接