Java NIO 总结 : CharBuffer、DoubleBuffer、FloatBuffer、IntBuffer、LongBuffer、ShortBuffer介绍
在Java NIO中,除了ByteBuffer之外,还有其他几种Buffer类型,分别用于不同的数据类型:
- CharBuffer:用于字符类型数据。
- DoubleBuffer:用于双精度浮点数类型数据。
- FloatBuffer:用于单精度浮点数类型数据。
- IntBuffer:用于整型数据。
- LongBuffer:用于长整型数据。
这些Buffer的使用方法类似,以下是一个使用IntBuffer的示例:
import java.nio.IntBuffer;
public class NIOBufferExample {
public static void main(String[] args) {
// 分配新的int缓冲区,容量为10,从位置为0开始
IntBuffer buffer = IntBuffer.allocate(10);
// 存入一些int数据到Buffer中
for (int i = 0; i < buffer.capacity(); i++) {
int data = i * 2;
buffer.put(data);
}
// 重设缓冲区的位置为0,准备读取
buffer.flip();
// 从缓冲区中读取数据
while (buffer.hasRemaining()) {
System.out.println(buffer.get());
}
}
}
在这个例子中,我们创建了一个容量为10的IntBuffer,然后往里面填充了一些整数数据,接着通过调用flip()
方法进行反转,这样就可以从Buffer中读取数据了。hasRemaining()
方法用于检查是否还有元素未读取。其他Buffer类(如CharBuffer、DoubleBuffer等)的使用方法与此类似。
评论已关闭