IntBufferDemo.java 1.0 KB

123456789101112131415161718192021222324
  1. package cn.hhj.nio.buffer;
  2. import java.nio.IntBuffer;
  3. public class IntBufferDemo {
  4. public static void main(String[] args) {
  5. // 分配新的int缓冲区,参数为缓冲区容量
  6. // 新缓冲区的当前位置将为零,其界限(限制位置)将为其容量。它将具有一个底层实现数组,其数组偏移量将为零。
  7. IntBuffer buffer = IntBuffer.allocate(8);
  8. for (int i = 0; i < buffer.capacity(); ++i) {
  9. int j = 2 * (i + 1);
  10. // 将给定整数写入此缓冲区的当前位置,当前位置递增
  11. buffer.put(j);
  12. }
  13. // 重设此缓冲区,将限制设置为当前位置,然后将当前位置设置为0
  14. buffer.flip();
  15. // 查看在当前位置和限制位置之间是否有元素
  16. while (buffer.hasRemaining()) {
  17. // 读取此缓冲区当前位置的整数,然后当前位置递增
  18. int j = buffer.get();
  19. System.out.print(j + " ");
  20. }
  21. }
  22. }