import java.nio.Buffer;
import java.nio.CharBuffer;
public class CharBufferDemo {
public static void main(String[] args) {
CharBuffer buffer = CharBuffer.allocate(8);
print(buffer); // 输出capacity:8, limit:8, position:0
buffer.put('a');
buffer.put('b');
buffer.put('c');
print(buffer); // 输出capacity:8, limit:8, position:3
// flip()方法赋值limit = position, position = 0
buffer.flip();
print(buffer); // 输出capacity:8, limit:3, position:0
char ch = buffer.get();
print(ch); // 输出a
print(buffer); // 输出capacity:8, limit:3, position:1
char ch2 = buffer.get();
print(ch2); // 输出b
print(buffer); // 输出capacity:8, limit:3, position:2
// rewind()方法position = 0
buffer.rewind();
print(buffer); // 输出capacity:8, limit:3, position:0
char ch3 = buffer.get();
print(ch3); // 输出a
print(buffer); // 输出capacity:8, limit:3, position:1
buffer.clear();
print(buffer); // 输出capacity:8, limit:8, position:0
}
public static void print(Buffer buffer) {
System.out.printf("capacity:%d, limit:%d, position:%d\r\n", buffer.capacity(), buffer.limit(),
buffer.position());
}
public static void print(char ch) {
System.out.println(ch);
}
}
Java NIO的Buffer常用方法flip,rewind,clear等
于 2022-01-25 10:33:01 首次发布
本文通过一个具体的Java NIO CharBuffer示例介绍了如何使用CharBuffer进行字符数据的分配、写入、翻转及读取操作,并展示了如何利用rewind()和clear()方法管理缓冲区位置。

790

被折叠的 条评论
为什么被折叠?



