ByteBuffer详解
参考了开源中国上talent-tan的一篇博客 图解bytebuffer
java.nio.ByteBuffer
- byte get( )
从当前位置获得一个字节,并将当前位置移动到下一个字节。 - byte get(int index)
从指定索引处获得一个字节。 - ByteBuffer put(byte b)
向当前位置推入一个字节,并将当前位置移动到下一个字节。返回对缓冲区的引用。 - ByteBuffer put(int index,byte b)
向指定索引处推入一个字节,返回对这个缓冲区的引用。 - ByteBuffer get(byte[] destination)
- ByteBuffer get(byte[] destination,int offset ,int length)
用缓冲区中的字节来填充字节数组,或者字节数组的某个区域,并将当前位置向前移动读入的字节数个位置。
如果缓冲区不够大就不会读入任何字节,并抛出BufferUnderflow Exception。返回对这个缓冲区的引用。
参数: destination 要填充的字节数组
offset 要填充区域的偏移量
length 要填充区域的长度 - Xxx getXxx()
- Xxx getXxx(int index)
- ByteBuffer putXxx(xxx value)
- ByteBuffer putXxx(int value,xxx value)
获得或放置一个二进制数。Xxx是Int、Long、Short、Char、Float或者Double中的一个。 - ByteBuffer order(ByteOrder order)
- ByteBuffer order(order)
设置获得字节顺序,order是ByteOrder类的常量BIG_ENDLAN或者LITTLE_ENDIAN中的一个。 - static ByteBuffer allcate(int capacity)
构建具有指定容量的缓冲区,该缓冲区是对给定数组的包装。 - CharBuffer asCharBuffer ( )
构建字符缓冲区,它是对缓冲区的包装。对该字符缓冲区的变更将在这个缓冲区中反映出来,但是该字符缓冲区
有自己的位置、界限和标记。
java.nio.CharBuffer
- char get()
- CharBuffer get(char[] destination)
- CharBuffer get(char[] destination,int offset,int length)
从这个缓冲区的当前位置开始,获取一个char值,或者一个范围内的所有char值,
然后将位置向前移动越过所有读入的字符。最后两个方法将返回this。 - CharBuffer put(char c)
- CharBuffer put(char[] source)
- CharBuffer put(char[] source,int offset,int length)
- CharBuffer put(String source)
- CharBuffer put(CharBuffer source)
从这个缓冲区的当前位置开始,放置一个char值,或者一个范围内的所有char值,然后将位置向前移动越过所有被
写出的字符。当放置的值是从CharBuffer读入时,将读入剩下所有剩余字符。所有方法返回this。