java新IO之IntBuffer
1 : put方法,position方法,limit方法,capacity方法
public abstract IntBuffer put(int i)
相对 put 方法(可选操作)。
将给定 int 写入此缓冲区的当前位置,然后该位置递增。
参数:i - 要写入的 int
返回:此缓冲区
抛出: BufferOverflowException - 如果此缓冲区的当前位置不小于界限
ReadOnlyBufferException - 如果此缓冲区是只读的
下面是一个例子:
运行结果截图:
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);
- }
- }
- }
运行截图: