缓冲区的一些基本的操作

来源:互联网 发布:上海译文 知乎 编辑:程序博客网 时间:2024/06/05 11:16
import java.nio.ByteBuffer;import org.junit.Test;public class TestBuffer {    @Test    public void allocateBuffer() {        // 分配缓冲区        ByteBuffer buffer = ByteBuffer.allocate(10);        // 进行我们的缓冲区进行基本的操作如下:        System.out.println("缓冲区的大小为:" + buffer.capacity());        // 缓冲区的写入的位置        System.out.println("缓冲区的position为:" + buffer.position());        // 缓冲区的limit的位置        System.out.println("缓冲区的limit大小为:" + buffer.limit());        // 缓冲区的标签的位置        System.out.println("缓冲区的mark为:" + buffer.mark());        // 缓冲区的remain大小        System.out.println("缓冲区的remaining大小为:" + buffer.remaining());        System.out.println("写入一些数据...............");        buffer.put((byte) 1);        buffer.put((byte) 2);        buffer.put((byte) 3);        buffer.put((byte) 4);        //进行拍板操作        buffer.flip();        // 进行我们的缓冲区进行基本的操作如下:        System.out.println("缓冲区的大小为:" + buffer.capacity());        // 缓冲区的写入的位置        System.out.println("缓冲区的position为:" + buffer.position());//会自己的移动到下一个数据的位置        // 缓冲区的limit的位置        System.out.println("缓冲区的limit大小为:" + buffer.limit());        // 缓冲区的标签的位置        System.out.println("缓冲区的mark为:" + buffer.mark());        // 缓冲区的remain大小        System.out.println("缓冲区的remaining大小为:" + buffer.remaining());        //取出数据        System.out.println(buffer.get());        System.out.println(buffer.get());        System.out.println(buffer.get());        System.out.println(buffer.get());    }}
原创粉丝点击