A CharBuffer works pretty much the same as an IntBuffer, a DoubleBuffer, a LongBuffer, and any of the other multibyte buffer types. That is, it has absolute and relative put methods that put chars; absolute and relative get methods that get chars; bulk put and get methods that put and get arrays of chars; and methods to flip, clear, rewind, and so forth. CharBuffer also has some convenience methods that operate on CharSequences (usually Strings, but also StringBuffers, StringBuilders, and so on). Furthermore, the CharBuffer class itself implements CharSequence, so you can pass it to methods such as Java 6's Normalizer.isNormalized( ), query it with regular expressions, and generally use it as you would any string.
A CharBuffer can be created in the three usual ways: by allocation, by wrapping a preexisting char[] array, or as a view of a ByteBuffer. A CharBuffer can also be created by wrapping a CharSequence:
public static CharBuffer wrap(CharSequence sequence)
or from a subsequence beginning at a certain offset and continuing to a certain point:
public static CharBuffer wrap(CharSequence sequence, int start, int end)
Because CharSequence is a read-only interface (i.e., it has no setter methods), the buffers created in this way are also read-only. You can get from them, but you can't put into them. Attempting to do so throws a ReadOnlyBufferException.
Basic I/O
Introducing I/O
Output Streams
Input Streams
Data Sources
File Streams
Network Streams
Filter Streams
Filter Streams
Print Streams
Data Streams
Streams in Memory
Compressing Streams
JAR Archives
Cryptographic Streams
Object Serialization
New I/O
Buffers
Channels
Nonblocking I/O
The File System
Working with Files
File Dialogs and Choosers
Text
Character Sets and Unicode
Readers and Writers
Formatted I/O with java.text
Devices
The Java Communications API
USB
The J2ME Generic Connection Framework
Bluetooth
Character Sets