java学习笔记(三十八)java新IO之IntBuffer

java学习笔记(三十八)java新IO之IntBuffer_第1张图片

java新IO之IntBuffer


1 : put方法,position方法,limit方法,capacity方法


public abstract IntBuffer put(int i)


相对 put 方法(可选操作)。
将给定 int 写入此缓冲区的当前位置,然后该位置递增。
参数:i - 要写入的 int
返回:此缓冲区
抛出: BufferOverflowException - 如果此缓冲区的当前位置不小于界限

ReadOnlyBufferException - 如果此缓冲区是只读的

下面是一个例子:

java学习笔记(三十八)java新IO之IntBuffer_第2张图片


运行结果截图:

java学习笔记(三十八)java新IO之IntBuffer_第3张图片

2、flip方法

public final Buffer flip()

反转此缓冲区。首先将限制设置为当前位置,然后将位置设置为 0。

package org.liuchao;
import java.nio.*;
public class IntBufferDemo {

public static void main(String[] args) {
  // TODO Auto-generated method stub
  IntBuffer buf = IntBuffer.allocate(20);//设置缓冲区容量为20个大小
  System.out.println("缓冲区写入数据之前:");
  System.out.println(buf.capacity());//调用capacity方法返回buf容量
  System.out.println(buf.position());//调用position方法返回buf的位置
  System.out.println(buf.limit());//调用limit方法返回buf的限制
  int temp[]={1,2,3,4};
  int i = 0;
  buf.put(i);//写入i
  buf.put(temp);//写入数组temp
  System.out.println("缓冲区写入数据之后:");
  System.out.println(buf.capacity());//调用capacity方法返回buf容量
  System.out.println(buf.position());//调用position方法返回buf的位置
  System.out.println(buf.limit());//调用limit方法返回buf的限制
  System.out.println("缓冲区内容:");
  buf.flip();//反转此缓冲区
  //输出缓冲区内容
  while(buf.hasRemaining()){
   int x = buf.get();//相对 get 方法。读取此缓冲区当前位置的 int,然后该位置递增。
   System.out.println(x);
  }
  }
}



运行截图:

java学习笔记(三十八)java新IO之IntBuffer_第4张图片

你可能感兴趣的:(buffer)