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 首次发布