java.lang.Object | ||
↳ | java.nio.Buffer | |
↳ | java.nio.ByteBuffer |
Known Direct Subclasses |
A buffer for bytes.
A byte buffer can be created in either one of the following ways:
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Creates a byte buffer based on a newly allocated byte array.
|
||||||||||
|
Creates a direct byte buffer based on a newly allocated memory block.
|
||||||||||
|
Returns the byte array which this buffer is based on, if there is one.
|
||||||||||
|
Returns the offset of the byte array which this buffer is based on, if
there is one.
|
||||||||||
|
Returns a char buffer which is based on the remaining content of this
byte buffer.
|
||||||||||
|
Returns a double buffer which is based on the remaining content of this
byte buffer.
|
||||||||||
|
Returns a float buffer which is based on the remaining content of this
byte buffer.
|
||||||||||
|
Returns a int buffer which is based on the remaining content of this byte
buffer.
|
||||||||||
|
Returns a long buffer which is based on the remaining content of this
byte buffer.
|
||||||||||
|
Returns a read-only buffer that shares its content with this buffer.
|
||||||||||
|
Returns a short buffer which is based on the remaining content of this
byte buffer.
|
||||||||||
|
Compacts this byte buffer.
|
||||||||||
|
Compares the remaining bytes of this buffer to another byte buffer's
remaining bytes.
|
||||||||||
|
Returns a duplicated buffer that shares its content with this buffer.
|
||||||||||
|
Checks whether this byte buffer is equal to another object.
|
||||||||||
|
Returns the byte at the current position and increases the position by 1.
|
||||||||||
|
Reads bytes from the current position into the specified byte array,
starting at the specified offset, and increases the position by the
number of bytes read.
|
||||||||||
|
Reads bytes from the current position into the specified byte array and
increases the position by the number of bytes read.
|
||||||||||
|
Returns the byte at the specified index and does not change the position.
|
||||||||||
|
Returns the char at the current position and increases the position by 2.
|
||||||||||
|
Returns the char at the specified index.
|
||||||||||
|
Returns the double at the current position and increases the position by
8.
|
||||||||||
|
Returns the double at the specified index.
|
||||||||||
|
Returns the float at the specified index.
|
||||||||||
|
Returns the float at the current position and increases the position by
4.
|
||||||||||
|
Returns the int at the current position and increases the position by 4.
|
||||||||||
|
Returns the int at the specified index.
|
||||||||||
|
Returns the long at the current position and increases the position by 8.
|
||||||||||
|
Returns the long at the specified index.
|
||||||||||
|
Returns the short at the specified index.
|
||||||||||
|
Returns the short at the current position and increases the position by 2.
|
||||||||||
|
Returns true if
array
and
arrayOffset
won't throw.
|
||||||||||
|
Calculates this buffer's hash code from the remaining chars.
|
||||||||||
|
Indicates whether this buffer is direct.
|
||||||||||
|
Sets the byte order of this buffer.
|
||||||||||
|
Returns the byte order used by this buffer when converting bytes from/to
other primitive types.
|
||||||||||
|
Writes the given byte to the current position and increases the position
by 1.
|
||||||||||
|
Writes bytes in the given byte array, starting from the specified offset,
to the current position and increases the position by the number of bytes
written.
|
||||||||||
|
Write a byte to the specified index of this buffer without changing the
position.
|
||||||||||
|
Writes bytes in the given byte array to the current position and
increases the position by the number of bytes written.
|
||||||||||
|
Writes all the remaining bytes of the
src
byte buffer to this
buffer's current position, and increases both buffers' position by the
number of bytes copied.
|
||||||||||
|
Writes the given char to the specified index of this buffer.
|
||||||||||
|
Writes the given char to the current position and increases the position
by 2.
|
||||||||||
|
Writes the given double to the specified index of this buffer.
|
||||||||||
|
Writes the given double to the current position and increases the position
by 8.
|
||||||||||
|
Writes the given float to the specified index of this buffer.
|
||||||||||
|
Writes the given float to the current position and increases the position
by 4.
|
||||||||||
|
Writes the given int to the current position and increases the position by
4.
|
||||||||||
|
Writes the given int to the specified index of this buffer.
|
||||||||||
|
Writes the given long to the current position and increases the position
by 8.
|
||||||||||
|
Writes the given long to the specified index of this buffer.
|
||||||||||
|
Writes the given short to the specified index of this buffer.
|
||||||||||
|
Writes the given short to the current position and increases the position
by 2.
|
||||||||||
|
Returns a sliced buffer that shares its content with this buffer.
|
||||||||||
|
Creates a new byte buffer by wrapping the given byte array.
|
||||||||||
|
Creates a new byte buffer by wrapping the given byte array.
|
[Expand]
Inherited Methods
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.nio.Buffer
|
|||||||||||
From class
java.lang.Object
|
|||||||||||
From interface
java.lang.Comparable
|
Creates a byte buffer based on a newly allocated byte array.
capacity | the capacity of the new buffer |
---|
IllegalArgumentException |
if
capacity < 0
.
|
---|
Creates a direct byte buffer based on a newly allocated memory block.
capacity | the capacity of the new buffer |
---|
IllegalArgumentException |
if
capacity < 0
.
|
---|
Returns the byte array which this buffer is based on, if there is one.
ReadOnlyBufferException | if this buffer is based on a read-only array. |
---|---|
UnsupportedOperationException | if this buffer is not based on an array. |
Returns the offset of the byte array which this buffer is based on, if there is one.
The offset is the index of the array which corresponds to the zero position of the buffer.
ReadOnlyBufferException | if this buffer is based on a read-only array. |
---|---|
UnsupportedOperationException | if this buffer is not based on an array. |
Returns a char buffer which is based on the remaining content of this byte buffer.
The new buffer's position is zero, its limit and capacity is the number of remaining bytes divided by two, and its mark is not set. The new buffer's read-only property and byte order are the same as this buffer's. The new buffer is direct if this byte buffer is direct.
The new buffer shares its content with this buffer, which means either buffer's change of content will be visible to the other. The two buffers' position, limit and mark are independent.
Returns a double buffer which is based on the remaining content of this byte buffer.
The new buffer's position is zero, its limit and capacity is the number of remaining bytes divided by eight, and its mark is not set. The new buffer's read-only property and byte order are the same as this buffer's. The new buffer is direct if this byte buffer is direct.
The new buffer shares its content with this buffer, which means either buffer's change of content will be visible to the other. The two buffers' position, limit and mark are independent.
Returns a float buffer which is based on the remaining content of this byte buffer.
The new buffer's position is zero, its limit and capacity is the number of remaining bytes divided by four, and its mark is not set. The new buffer's read-only property and byte order are the same as this buffer's. The new buffer is direct if this byte buffer is direct.
The new buffer shares its content with this buffer, which means either buffer's change of content will be visible to the other. The two buffers' position, limit and mark are independent.
Returns a int buffer which is based on the remaining content of this byte buffer.
The new buffer's position is zero, its limit and capacity is the number of remaining bytes divided by four, and its mark is not set. The new buffer's read-only property and byte order are the same as this buffer's. The new buffer is direct if this byte buffer is direct.
The new buffer shares its content with this buffer, which means either buffer's change of content will be visible to the other. The two buffers' position, limit and mark are independent.
Returns a long buffer which is based on the remaining content of this byte buffer.
The new buffer's position is zero, its limit and capacity is the number of remaining bytes divided by eight, and its mark is not set. The new buffer's read-only property and byte order are the same as this buffer's. The new buffer is direct if this byte buffer is direct.
The new buffer shares its content with this buffer, which means either buffer's change of content will be visible to the other. The two buffers' position, limit and mark are independent.
Returns a read-only buffer that shares its content with this buffer.
The returned buffer is guaranteed to be a new instance, even if this buffer is read-only itself. The new buffer's position, limit, capacity and mark are the same as this buffer.
The new buffer shares its content with this buffer, which means this buffer's change of content will be visible to the new buffer. The two buffer's position, limit and mark are independent.
Returns a short buffer which is based on the remaining content of this byte buffer.
The new buffer's position is zero, its limit and capacity is the number of remaining bytes divided by two, and its mark is not set. The new buffer's read-only property and byte order are the same as this buffer's. The new buffer is direct if this byte buffer is direct.
The new buffer shares its content with this buffer, which means either buffer's change of content will be visible to the other. The two buffers' position, limit and mark are independent.
Compacts this byte buffer.
The remaining bytes will be moved to the head of the
buffer, starting from position zero. Then the position is set to
remaining()
; the limit is set to capacity; the mark is
cleared.
this
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
---|
Compares the remaining bytes of this buffer to another byte buffer's remaining bytes.
otherBuffer | another byte buffer. |
---|
other
; 0 if this
equals to
other
; a positive value if this is greater
than
other
.
ClassCastException |
if
other
is not a byte buffer.
|
---|
Returns a duplicated buffer that shares its content with this buffer.
The duplicated buffer's position, limit, capacity and mark are the same as this buffer's. The duplicated buffer's read-only property is the same as this buffer's.
Note that
in contrast to all non-
byte
buffers
,
byte order is not preserved in the duplicate, and is instead set to
big-endian.
The new buffer shares its content with this buffer, which means either buffer's change of content will be visible to the other. The two buffers' position, limit and mark are independent.
Checks whether this byte buffer is equal to another object.
If
other
is not a byte buffer then
false
is returned. Two
byte buffers are equal if and only if their remaining bytes are exactly
the same. Position, limit, capacity and mark are not considered.
other | the object to compare with this byte buffer. |
---|
true
if this byte buffer is equal to
other
,
false
otherwise.
Returns the byte at the current position and increases the position by 1.
BufferUnderflowException | if the position is equal or greater than limit. |
---|
Reads bytes from the current position into the specified byte array, starting at the specified offset, and increases the position by the number of bytes read.
dst | the target byte array. |
---|---|
dstOffset |
the offset of the byte array, must not be negative and
not greater than
dst.length
.
|
byteCount |
the number of bytes to read, must not be negative and not
greater than
dst.length - dstOffset
|
this
IndexOutOfBoundsException |
if
dstOffset < 0 || byteCount < 0
|
---|---|
BufferUnderflowException |
if
byteCount > remaining()
|
Reads bytes from the current position into the specified byte array and increases the position by the number of bytes read.
Calling this method has the same effect as
get(dst, 0, dst.length)
.
dst | the destination byte array. |
---|
this
BufferUnderflowException |
if
dst.length
is greater than
remaining()
.
|
---|
Returns the byte at the specified index and does not change the position.
index | the index, must not be negative and less than limit. |
---|
IndexOutOfBoundsException | if index is invalid. |
---|
Returns the char at the current position and increases the position by 2.
The 2 bytes starting at the current position are composed into a char according to the current byte order and returned.
BufferUnderflowException |
if the position is greater than
limit - 2
.
|
---|
Returns the char at the specified index.
The 2 bytes starting from the specified index are composed into a char according to the current byte order and returned. The position is not changed.
index |
the index, must not be negative and equal or less than
limit - 2
.
|
---|
IndexOutOfBoundsException |
if
index
is invalid.
|
---|
Returns the double at the current position and increases the position by 8.
The 8 bytes starting from the current position are composed into a double according to the current byte order and returned.
BufferUnderflowException |
if the position is greater than
limit - 8
.
|
---|
Returns the double at the specified index.
The 8 bytes starting at the specified index are composed into a double according to the current byte order and returned. The position is not changed.
index |
the index, must not be negative and equal or less than
limit - 8
.
|
---|
IndexOutOfBoundsException |
if
index
is invalid.
|
---|
Returns the float at the specified index.
The 4 bytes starting at the specified index are composed into a float according to the current byte order and returned. The position is not changed.
index |
the index, must not be negative and equal or less than
limit - 4
.
|
---|
IndexOutOfBoundsException |
if
index
is invalid.
|
---|
Returns the float at the current position and increases the position by 4.
The 4 bytes starting at the current position are composed into a float according to the current byte order and returned.
BufferUnderflowException |
if the position is greater than
limit - 4
.
|
---|
Returns the int at the current position and increases the position by 4.
The 4 bytes starting at the current position are composed into a int according to the current byte order and returned.
BufferUnderflowException |
if the position is greater than
limit - 4
.
|
---|
Returns the int at the specified index.
The 4 bytes starting at the specified index are composed into a int according to the current byte order and returned. The position is not changed.
index |
the index, must not be negative and equal or less than
limit - 4
.
|
---|
IndexOutOfBoundsException |
if
index
is invalid.
|
---|
Returns the long at the current position and increases the position by 8.
The 8 bytes starting at the current position are composed into a long according to the current byte order and returned.
BufferUnderflowException |
if the position is greater than
limit - 8
.
|
---|
Returns the long at the specified index.
The 8 bytes starting at the specified index are composed into a long according to the current byte order and returned. The position is not changed.
index |
the index, must not be negative and equal or less than
limit - 8
.
|
---|
IndexOutOfBoundsException |
if
index
is invalid.
|
---|
Returns the short at the specified index.
The 2 bytes starting at the specified index are composed into a short according to the current byte order and returned. The position is not changed.
index |
the index, must not be negative and equal or less than
limit - 2
.
|
---|
IndexOutOfBoundsException |
if
index
is invalid.
|
---|
Returns the short at the current position and increases the position by 2.
The 2 bytes starting at the current position are composed into a short according to the current byte order and returned.
BufferUnderflowException |
if the position is greater than
limit - 2
.
|
---|
Returns true if
array
and
arrayOffset
won't throw. This method does not
return true for buffers not backed by arrays because the other methods would throw
UnsupportedOperationException
, nor does it return true for buffers backed by
read-only arrays, because the other methods would throw
ReadOnlyBufferException
.
Calculates this buffer's hash code from the remaining chars. The position, limit, capacity and mark don't affect the hash code.
Indicates whether this buffer is direct.
true
if this buffer is direct,
false
otherwise.
Sets the byte order of this buffer.
byteOrder |
the byte order to set. If
null
then the order
will be
LITTLE_ENDIAN
.
|
---|
this
Returns the byte order used by this buffer when converting bytes from/to other primitive types.
The default byte order of byte buffer is always
BIG_ENDIAN
Writes the given byte to the current position and increases the position by 1.
b | the byte to write. |
---|
this
BufferOverflowException | if position is equal or greater than limit. |
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes bytes in the given byte array, starting from the specified offset, to the current position and increases the position by the number of bytes written.
src | the source byte array. |
---|---|
srcOffset |
the offset of byte array, must not be negative and not greater
than
src.length
.
|
byteCount |
the number of bytes to write, must not be negative and not
greater than
src.length - srcOffset
.
|
this
BufferOverflowException |
if
remaining()
is less than
byteCount
.
|
---|---|
IndexOutOfBoundsException |
if either
srcOffset
or
byteCount
is invalid.
|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Write a byte to the specified index of this buffer without changing the position.
index | the index, must not be negative and less than the limit. |
---|---|
b | the byte to write. |
this
IndexOutOfBoundsException |
if
index
is invalid.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes bytes in the given byte array to the current position and increases the position by the number of bytes written.
Calling this method has the same effect as
put(src, 0, src.length)
.
src | the source byte array. |
---|
this
BufferOverflowException |
if
remaining()
is less than
src.length
.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes all the remaining bytes of the
src
byte buffer to this
buffer's current position, and increases both buffers' position by the
number of bytes copied.
src | the source byte buffer. |
---|
this
BufferOverflowException |
if
src.remaining()
is greater than this buffer's
remaining()
.
|
---|---|
IllegalArgumentException |
if
src
is this buffer.
|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes the given char to the specified index of this buffer.
The char is converted to bytes using the current byte order. The position is not changed.
index |
the index, must not be negative and equal or less than
limit - 2
.
|
---|---|
value | the char to write. |
this
IndexOutOfBoundsException |
if
index
is invalid.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes the given char to the current position and increases the position by 2.
The char is converted to bytes using the current byte order.
value | the char to write. |
---|
this
BufferOverflowException |
if position is greater than
limit - 2
.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes the given double to the specified index of this buffer.
The double is converted to bytes using the current byte order. The position is not changed.
index |
the index, must not be negative and equal or less than
limit - 8
.
|
---|---|
value | the double to write. |
this
IndexOutOfBoundsException |
if
index
is invalid.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes the given double to the current position and increases the position by 8.
The double is converted to bytes using the current byte order.
value | the double to write. |
---|
this
BufferOverflowException |
if position is greater than
limit - 8
.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes the given float to the specified index of this buffer.
The float is converted to bytes using the current byte order. The position is not changed.
index |
the index, must not be negative and equal or less than
limit - 4
.
|
---|---|
value | the float to write. |
this
IndexOutOfBoundsException |
if
index
is invalid.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes the given float to the current position and increases the position by 4.
The float is converted to bytes using the current byte order.
value | the float to write. |
---|
this
BufferOverflowException |
if position is greater than
limit - 4
.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes the given int to the current position and increases the position by 4.
The int is converted to bytes using the current byte order.
value | the int to write. |
---|
this
BufferOverflowException |
if position is greater than
limit - 4
.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes the given int to the specified index of this buffer.
The int is converted to bytes using the current byte order. The position is not changed.
index |
the index, must not be negative and equal or less than
limit - 4
.
|
---|---|
value | the int to write. |
this
IndexOutOfBoundsException |
if
index
is invalid.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes the given long to the current position and increases the position by 8.
The long is converted to bytes using the current byte order.
value | the long to write. |
---|
this
BufferOverflowException |
if position is greater than
limit - 8
.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes the given long to the specified index of this buffer.
The long is converted to bytes using the current byte order. The position is not changed.
index |
the index, must not be negative and equal or less than
limit - 8
.
|
---|---|
value | the long to write. |
this
IndexOutOfBoundsException |
if
index
is invalid.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes the given short to the specified index of this buffer.
The short is converted to bytes using the current byte order. The position is not changed.
index |
the index, must not be negative and equal or less than
limit - 2
.
|
---|---|
value | the short to write. |
this
IndexOutOfBoundsException |
if
index
is invalid.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes the given short to the current position and increases the position by 2.
The short is converted to bytes using the current byte order.
value | the short to write. |
---|
this
BufferOverflowException |
if position is greater than
limit - 2
.
|
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Returns a sliced buffer that shares its content with this buffer.
The sliced buffer's capacity will be this buffer's
remaining()
, and it's zero position will correspond to
this buffer's current position. The new buffer's position will be 0,
limit will be its capacity, and its mark is cleared. The new buffer's
read-only property and byte order are the same as this buffer's.
The new buffer shares its content with this buffer, which means either buffer's change of content will be visible to the other. The two buffers' position, limit and mark are independent.
Creates a new byte buffer by wrapping the given byte array.
Calling this method has the same effect as
wrap(array, 0, array.length)
.
array | the byte array which the new buffer will be based on |
---|
Creates a new byte buffer by wrapping the given byte array.
The new buffer's position will be
start
, limit will be
start + byteCount
, capacity will be the length of the array.
array | the byte array which the new buffer will be based on. |
---|---|
start |
the start index, must not be negative and not greater than
array.length
.
|
byteCount |
the length, must not be negative and not greater than
array.length - start
.
|
IndexOutOfBoundsException |
if either
start
or
byteCount
is invalid.
|
---|