CharBuffer holds a sequence of Unicode character values for use in an I/O operation. Most of the methods of this class are directly analogous to methods defined by ByteBuffer except that they use char and char[ ] argument and return values instead of byte and byte[ ] values. See ByteBuffer for details. In addition to the ByteBuffer analogs, this class also implements the java.lang.CharSequence interface so that it can be used with java.util.regex regular expression operations or anywhere else a CharSequence is expected. In Java 5.0, CharBuffer adds the append( ) and read( ) methods of the java.lang.Appendable and java.lang.Readable interfaces, making CharBuffer objects suitable for use with the Formatter and Scanner classes of java.util . Note that CharBuffer is an abstract class and does not defined a constructor. There are three ways to obtain a CharBuffer :
Note that this class holds a sequence of 16-bit Unicode characters , and does not represent text in any other encoding. Classes in the java.nio.charset package can be used to encode a CharBuffer of Unicode characters into a ByteBuffer , or decode the bytes in a ByteBuffer into a CharBuffer of Unicode text. Java 5.0 supports Unicode supplementary characters that do not fit in 16 bits. See java.lang.Character for details. Note that CharBuffer does not include any utility methods for working with int codepoints or surrogate pairs. Figure 13-4. java.nio.CharBufferpublic abstract class CharBuffer extends Buffer implements Comparable<CharBuffer>, Appendable, CharSequence, Readable { // No Constructor // Public Class Methods public static CharBuffer allocate (int capacity ); public static CharBuffer wrap (char[ ] array ); public static CharBuffer wrap (CharSequence csq ); public static CharBuffer wrap (char[ ] array , int offset , int length ); public static CharBuffer wrap (CharSequence csq , int start , int end ); // Public Instance Methods 5.0 public CharBuffer append (char c ); 5.0 public CharBuffer append (CharSequence csq ); 5.0 public CharBuffer append (CharSequence csq , int start , int end ); public final char[ ] array ( ); public final int arrayOffset ( ); public abstract CharBuffer asReadOnlyBuffer ( ); public abstract CharBuffer compact ( ); public abstract CharBuffer duplicate ( ); public abstract char get ( ); public abstract char get (int index ); public CharBuffer get (char[ ] dst ); public CharBuffer get (char[ ] dst , int offset , int length ); public final boolean hasArray ( ); public abstract boolean isDirect ( ); public abstract ByteOrder order ( ); public final CharBuffer put (char[ ] src ); public CharBuffer put (CharBuffer src ); public final CharBuffer put (String src ); public abstract CharBuffer put (char c ); public abstract CharBuffer put (int index , char c ); public CharBuffer put (String src , int start , int end ); public CharBuffer put (char[ ] src , int offset , int length ); public abstract CharBuffer slice ( ); // Methods Implementing CharSequence public final char charAt (int index ); public final int length ( ); public abstract CharSequence subSequence (int start , int end ); public String toString ( ); // Methods Implementing Comparable 5.0 public int compareTo (CharBuffer that ); // Methods Implementing Readable 5.0 public int read (CharBuffer target ) throws java.io.IOException; // Public Methods Overriding Object public boolean equals (Object ob ); public int hashCode ( ); } Passed Tojava.io.Reader.read( ) , Readable.read( ) , java.nio.charset.Charset.encode( ) , java.nio.charset.CharsetDecoder.{decode( ) , decodeLoop( ) , flush( ) , implFlush( )} , java.nio.charset.CharsetEncoder.{encode( ) , encodeLoop( )} Returned ByByteBuffer.asCharBuffer( ) , java.nio.charset.Charset.decode( ) , java.nio.charset.CharsetDecoder.decode( ) |