缓冲区的一些基本的操作


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());
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章