clear public final Buffer clear()清除此缓冲区。将位置设置为零,限制设置为该容量,并且丢弃标记。 在使用序列信道读取或 put 操作填充此缓冲区之前调用此方法。例如: buf.clear(); // Prepare buffer for reading in.read(buf); // Read data此方法不能实际擦除缓冲区中的数据,但从名称来看似乎能够擦除,因为它多数情况下确实是在擦除数据时使用的。 返回: 此缓冲区flip public final Buffer flip()反转此缓冲区。首先对当前位置设置限制,然后将该位置设置为零。如果已定义了标记,则丢弃该标记。 在序列信道读取或 put 操作之后,调用此方法以做好序列信道写入或相对 get 操作。例如: buf.put(magic); // Prepend header in.read(buf); // Read data into rest of buffer buf.flip(); // Flip buffer out.write(buf); // Write header + data to channel当将数据从一个地方传输到另一个地方时,经常将此方法与 compact 方法一起使用。 返回: 此缓冲区rewind public final Buffer rewind()重绕此缓冲区。将位置设置为零并丢弃标记。 在序列信道写入或 get 操作之前调用此方法(假定已经适当设置了限制)。例如: out.write(buf); // Write remaining data buf.rewind(); // Rewind buffer buf.get(array); // Copy data into array 返回: 此缓冲区
clear() 使缓冲区做好了新序列信道读取或相对 put 操作的准备 flip() 使缓冲区做好了新序列信道读取或相对 get 操作的准备 rewind() 使缓冲区做好了重新读取已包含的数据的准备先简单这样理解,只是针对不同的操作时候使用
public final Buffer clear()清除此缓冲区。将位置设置为零,限制设置为该容量,并且丢弃标记。
在使用序列信道读取或 put 操作填充此缓冲区之前调用此方法。例如: buf.clear(); // Prepare buffer for reading
in.read(buf); // Read data此方法不能实际擦除缓冲区中的数据,但从名称来看似乎能够擦除,因为它多数情况下确实是在擦除数据时使用的。 返回:
此缓冲区flip
public final Buffer flip()反转此缓冲区。首先对当前位置设置限制,然后将该位置设置为零。如果已定义了标记,则丢弃该标记。
在序列信道读取或 put 操作之后,调用此方法以做好序列信道写入或相对 get 操作。例如: buf.put(magic); // Prepend header
in.read(buf); // Read data into rest of buffer
buf.flip(); // Flip buffer
out.write(buf); // Write header + data to channel当将数据从一个地方传输到另一个地方时,经常将此方法与 compact 方法一起使用。
返回:
此缓冲区rewind
public final Buffer rewind()重绕此缓冲区。将位置设置为零并丢弃标记。
在序列信道写入或 get 操作之前调用此方法(假定已经适当设置了限制)。例如: out.write(buf); // Write remaining data
buf.rewind(); // Rewind buffer
buf.get(array); // Copy data into array
返回:
此缓冲区
flip() 使缓冲区做好了新序列信道读取或相对 get 操作的准备
rewind() 使缓冲区做好了重新读取已包含的数据的准备先简单这样理解,只是针对不同的操作时候使用