This class is a character output stream that uses an internal character array as the destination of characters written to it. When you create a CharArrayWriter, you may optionally specify an initial size for the character array, but you do not specify the character array itself--this array is managed internally by the CharArrayWriter, and grows as necessary to accommodate all the characters written to it. The toString() and toCharArray() methods return a copy of all characters written to the stream, either as a string or as an array of characters.
CharArrayWriter defines the standard write(), flush(), and close() methods that all Writer subclasses do. It also defines a few other useful methods. size() returns the number of characters that have been written to the stream. reset() resets the stream to its initial state, with an empty character array; this is more efficient than creating a new CharArrayWriter. Finally, writeTo() writes the contents of the internal character array to some other specified character stream.
CharArrayWriter is the character-stream analog of ByteArrayOutputStream, and is quite similar to StringWriter.
public class CharArrayWriter extends Writer {
// Public Constructors
public CharArrayWriter();
public CharArrayWriter(int initialSize);
// Protected Instance Variables
protected char[] buf;
protected int count;
// Public Instance Methods
public void close(); // Defines Writer
public void flush(); // Defines Writer
public void reset();
public int size();
public char[] toCharArray();
public String toString(); // Overrides Object
public void write(int c); // Overrides Writer
public void write(char[] c, int off, int len); // Defines Writer
public void write(String str, int off, int len); // Overrides Writer
public void writeTo(Writer out) throws IOException;
}
Object->Writer->CharArrayWriter