java.lang.Object | ||
↳ | java.nio.Buffer | |
↳ | java.nio.CharBuffer |
A buffer of chars.
A char buffer can be created in either one of the following ways:
Allocate
a new char array and create a buffer
based on it;Wrap
an existing char array to create a new
buffer;Wrap
an existing char sequence to create a
new buffer;ByteBuffer.asCharBuffer
to create a char buffer based on a byte buffer.Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Creates a char buffer based on a newly allocated char array.
| |||||||||||
Writes the given char to the current position and increases the position
by 1.
| |||||||||||
Writes all chars of the given character sequence
csq to the
current position of this buffer, and increases the position by the length
of the csq. | |||||||||||
Writes chars of the given
CharSequence to the current position of
this buffer, and increases the position by the number of chars written. | |||||||||||
Returns the char array which this buffer is based on, if there is one.
| |||||||||||
Returns the offset of the char array which this buffer is based on, if
there is one.
| |||||||||||
Returns a read-only buffer that shares its content with this buffer.
| |||||||||||
Returns the character located at the specified index in the buffer.
| |||||||||||
Compacts this char buffer.
| |||||||||||
Compare the remaining chars of this buffer to another char
buffer's remaining chars.
| |||||||||||
Returns a duplicated buffer that shares its content with this buffer.
| |||||||||||
Checks whether this char buffer is equal to another object.
| |||||||||||
Returns the char at the current position and increases the position by 1.
| |||||||||||
Reads chars from the current position into the specified char array and
increases the position by the number of chars read.
| |||||||||||
Returns a char at the specified index; the position is not changed.
| |||||||||||
Reads chars from the current position into the specified char array,
starting from the specified offset, and increases the position by the
number of chars read.
| |||||||||||
Indicates whether this buffer is based on a char array and is read/write.
| |||||||||||
Calculates this buffer's hash code from the remaining chars.
| |||||||||||
Indicates whether this buffer is direct.
| |||||||||||
Returns the number of remaining chars.
| |||||||||||
Returns the byte order used by this buffer when converting chars from/to
bytes.
| |||||||||||
Writes chars from the given char array, starting from the specified offset,
to the current position and increases the position by the number of chars
written.
| |||||||||||
Writes a char to the specified index of this buffer; the position is not
changed.
| |||||||||||
Writes the given char to the current position and increases the position
by 1.
| |||||||||||
Writes all the remaining chars of the
src char buffer to this
buffer's current position, and increases both buffers' position by the
number of chars copied. | |||||||||||
Writes chars from the given char array to the current position and
increases the position by the number of chars written.
| |||||||||||
Writes all chars of the given string to the current position of this
buffer, and increases the position by the length of string.
| |||||||||||
Writes chars of the given string to the current position of this buffer,
and increases the position by the number of chars written.
| |||||||||||
Reads characters from this buffer and puts them into
target . | |||||||||||
Returns a sliced buffer that shares its content with this buffer.
| |||||||||||
Returns a new char buffer representing a sub-sequence of this buffer's
current remaining content.
| |||||||||||
Returns a string representing the current remaining chars of this buffer.
| |||||||||||
Creates a new char buffer by wrapping the given char array.
| |||||||||||
Creates a new char buffer by wrapping the given char sequence.
| |||||||||||
Creates a new char buffer by wrapping the given char array.
| |||||||||||
Creates a new char buffer by wrapping the given char sequence.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class java.nio.Buffer
| |||||||||||
From class java.lang.Object
| |||||||||||
From interface java.lang.Appendable
| |||||||||||
From interface java.lang.CharSequence
| |||||||||||
From interface java.lang.Comparable
| |||||||||||
From interface java.lang.Readable
|
Creates a char buffer based on a newly allocated char array.
capacity | the capacity of the new buffer. |
---|
IllegalArgumentException | if capacity is less than zero. |
---|
Writes the given char to the current position and increases the position by 1.
c | the char to write. |
---|
BufferOverflowException | if position is equal or greater than limit. |
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes all chars of the given character sequence csq
to the
current position of this buffer, and increases the position by the length
of the csq.
Calling this method has the same effect as append(csq.toString())
.
CharSequence
is null
the string "null" will be
written to the buffer.csq | the CharSequence to write. |
---|
BufferOverflowException | if remaining() is less than the length of csq. |
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes chars of the given CharSequence
to the current position of
this buffer, and increases the position by the number of chars written.
csq | the CharSequence to write. |
---|---|
start | the first char to write, must not be negative and not greater
than csq.length() . |
end | the last char to write (excluding), must be less than
start and not greater than csq.length() . |
BufferOverflowException | if remaining() is less than end - start . |
---|---|
IndexOutOfBoundsException | if either start or end is invalid. |
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Returns the char array which this buffer is based on, if there is one.
ReadOnlyBufferException | if this buffer is based on an array, but it is read-only. |
---|---|
UnsupportedOperationException | if this buffer is not based on an array. |
Returns the offset of the char array which this buffer is based on, if there is one.
The offset is the index of the array corresponds to the zero position of the buffer.
ReadOnlyBufferException | if this buffer is based on an array but it is read-only. |
---|---|
UnsupportedOperationException | if this buffer is not based on an array. |
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's.
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 the character located at the specified index in the buffer. The index value is referenced from the current buffer position.
index | the index referenced from the current buffer position. It must
not be less than zero but less than the value obtained from a
call to remaining() . |
---|
IndexOutOfBoundsException | if the index is invalid. |
---|
Compacts this char buffer.
The remaining chars 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.
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
---|
Compare the remaining chars of this buffer to another char buffer's remaining chars.
otherBuffer | another char buffer. |
---|
otherBuffer
; 0 if
this equals to otherBuffer
; a positive value if this is
greater than otherBuffer
.ClassCastException | if otherBuffer is not a char buffer. |
---|
Returns a duplicated buffer that shares its content with this buffer.
The duplicated buffer's initial position, limit, capacity and mark are the same as this buffer's. The duplicated buffer's read-only property and byte order are the same as this buffer's, too.
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 buffer's position, limit and mark are independent.
Checks whether this char buffer is equal to another object.
If other
is not a char buffer then false
is returned. Two
char buffers are equal if and only if their remaining chars are exactly
the same. Position, limit, capacity and mark are not considered.
other | the object to compare with this char buffer. |
---|
true
if this char buffer is equal to other
,
false
otherwise.Returns the char at the current position and increases the position by 1.
BufferUnderflowException | if the position is equal or greater than limit. |
---|
Reads chars from the current position into the specified char array and increases the position by the number of chars read.
Calling this method has the same effect as
get(dest, 0, dest.length)
.
dest | the destination char array. |
---|
BufferUnderflowException | if dest.length is greater than remaining() . |
---|
Returns a char at the specified index; the position is not changed.
index | the index, must not be negative and less than limit. |
---|
IndexOutOfBoundsException | if index is invalid. |
---|
Reads chars from the current position into the specified char array, starting from the specified offset, and increases the position by the number of chars read.
dest | the target char array. |
---|---|
off | the offset of the char array, must not be negative and not
greater than dest.length . |
len | The number of chars to read, must be no less than zero and no
greater than dest.length - off . |
IndexOutOfBoundsException | if either off or len is invalid. |
---|---|
BufferUnderflowException | if len is greater than remaining() . |
Indicates whether this buffer is based on a char array and is read/write.
true
if this buffer is based on a byte array and provides
read/write access, false
otherwise.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. A direct buffer will try its best to take advantage of native memory APIs and it may not stay in the Java heap, so it is not affected by garbage collection.
A char buffer is direct if it is based on a byte buffer and the byte buffer is direct.
true
if this buffer is direct, false
otherwise.Returns the number of remaining chars.
Returns the byte order used by this buffer when converting chars from/to bytes.
If this buffer is not based on a byte buffer, then this always returns the platform's native byte order.
Writes chars from the given char array, starting from the specified offset, to the current position and increases the position by the number of chars written.
src | the source char array. |
---|---|
off | the offset of char array, must not be negative and not greater
than src.length . |
len | the number of chars to write, must be no less than zero and no
greater than src.length - off . |
BufferOverflowException | if remaining() is less than len . |
---|---|
IndexOutOfBoundsException | if either off or len is invalid. |
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes a char to the specified index of this buffer; the position is not changed.
index | the index, must be no less than zero and less than the limit. |
---|---|
c | the char to write. |
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 1.
c | the char to write. |
---|
BufferOverflowException | if position is equal or greater than limit. |
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes all the remaining chars of the src
char buffer to this
buffer's current position, and increases both buffers' position by the
number of chars copied.
src | the source char buffer. |
---|
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 chars from the given char array to the current position and increases the position by the number of chars written.
Calling this method has the same effect as
put(src, 0, src.length)
.
src | the source char array. |
---|
BufferOverflowException | if remaining() is less than src.length . |
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes all chars of the given string to the current position of this buffer, and increases the position by the length of string.
Calling this method has the same effect as
put(str, 0, str.length())
.
str | the string to write. |
---|
BufferOverflowException | if remaining() is less than the length of string. |
---|---|
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Writes chars of the given string to the current position of this buffer, and increases the position by the number of chars written.
str | the string to write. |
---|---|
start | the first char to write, must not be negative and not greater
than str.length() . |
end | the last char to write (excluding), must be less than
start and not greater than str.length() . |
BufferOverflowException | if remaining() is less than end - start . |
---|---|
IndexOutOfBoundsException | if either start or end is invalid. |
ReadOnlyBufferException | if no changes may be made to the contents of this buffer. |
Reads characters from this buffer and puts them into target
. The
number of chars that are copied is either the number of remaining chars
in this buffer or the number of remaining chars in target
,
whichever is smaller.
target | the target char buffer. |
---|
IllegalArgumentException | if target is this buffer. |
---|---|
IOException | if an I/O error occurs. |
ReadOnlyBufferException | if no changes may be made to the contents of target . |
Returns a sliced buffer that shares its content with this buffer.
The sliced buffer's capacity will be this buffer's remaining()
,
and its 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
same as this buffer.
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 buffer's position, limit and mark are independent.
Returns a new char buffer representing a sub-sequence of this buffer's current remaining content.
The new buffer's position will be position() + start
, limit will
be position() + end
, capacity will be the same as this buffer.
The new buffer's read-only property and byte order are the same as this
buffer.
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 buffer's position, limit and mark are independent.
start | the start index of the sub-sequence, referenced from the
current buffer position. Must not be less than zero and not
greater than the value obtained from a call to
remaining() . |
---|---|
end | the end index of the sub-sequence, referenced from the current
buffer position. Must not be less than start and not
be greater than the value obtained from a call to
remaining() . |
IndexOutOfBoundsException | if either start or end is invalid. |
---|
Returns a string representing the current remaining chars of this buffer.
Creates a new char buffer by wrapping the given char array.
The new buffer's position will be start
, limit will be
start + len
, capacity will be the length of the array.
array | the char array which the new buffer will be based on. |
---|---|
start | the start index, must not be negative and not greater than
array.length . |
len | the length, must not be negative and not greater than
array.length - start . |
IndexOutOfBoundsException | if either start or len is invalid. |
---|
Creates a new char buffer by wrapping the given char sequence.
Calling this method has the same effect as
wrap(chseq, 0, chseq.length())
.
chseq | the char sequence which the new buffer will be based on. |
---|
Creates a new char buffer by wrapping the given char array.
Calling this method has the same effect as
wrap(array, 0, array.length)
.
array | the char array which the new buffer will be based on. |
---|
Creates a new char buffer by wrapping the given char sequence.
The new buffer's position will be start
, limit will be
end
, capacity will be the length of the char sequence. The new
buffer is read-only.
chseq | the char sequence which the new buffer will be based on. |
---|---|
start | the start index, must not be negative and not greater than
chseq.length() . |
end | the end index, must be no less than start and no
greater than chseq.length() . |
IndexOutOfBoundsException | if either start or end is invalid. |
---|