public class

CharArrayWriter

extends Writer
java.lang.Object
   ↳ java.io.Writer
     ↳ java.io.CharArrayWriter

Class Overview

A specialized Writer for class for writing content to an (internal) char array. As bytes are written to this writer, the char array may be expanded to hold more characters. When the writing is considered to be finished, a copy of the char array can be requested from the class.

See Also

Summary

Fields
protected char[] buf The buffer for characters.
protected int count The ending index of the buffer.
[Expand]
Inherited Fields
From class java.io.Writer
Public Constructors
CharArrayWriter()
Constructs a new CharArrayWriter which has a buffer allocated with the default size of 32 characters.
CharArrayWriter(int initialSize)
Constructs a new CharArrayWriter which has a buffer allocated with the size of initialSize characters.
Public Methods
CharArrayWriter append(char c)
Appends a char c to the CharArrayWriter.
CharArrayWriter append(CharSequence csq)
Appends a CharSequence to the CharArrayWriter.
CharArrayWriter append(CharSequence csq, int start, int end)
Append a subsequence of a CharSequence to the CharArrayWriter.
void close()
Closes this writer.
void flush()
Flushes this writer.
void reset()
Resets this writer.
int size()
Returns the size of this writer, that is the number of characters it stores.
char[] toCharArray()
Returns the contents of the receiver as a char array.
String toString()
Returns the contents of this CharArrayWriter as a string.
void write(String str, int offset, int len)
Writes count number of characters starting at offset from the string str to this CharArrayWriter.
void write(int oneChar)
Writes the specified character oneChar to this writer.
void write(char[] c, int offset, int len)
Writes count characters starting at offset in c to this writer.
void writeTo(Writer out)
Writes the contents of this CharArrayWriter to another Writer.
[Expand]
Inherited Methods
From class java.io.Writer
From class java.lang.Object
From interface java.io.Closeable
From interface java.io.Flushable
From interface java.lang.Appendable

Fields

protected char[] buf

Since: API Level 1

The buffer for characters.

protected int count

Since: API Level 1

The ending index of the buffer.

Public Constructors

public CharArrayWriter ()

Since: API Level 1

Constructs a new CharArrayWriter which has a buffer allocated with the default size of 32 characters. This buffer is also used as the lock to synchronize access to this writer.

public CharArrayWriter (int initialSize)

Since: API Level 1

Constructs a new CharArrayWriter which has a buffer allocated with the size of initialSize characters. The buffer is also used as the lock to synchronize access to this writer.

Parameters
initialSize the initial size of this CharArrayWriters buffer.
Throws
IllegalArgumentException if initialSize < 0.

Public Methods

public CharArrayWriter append (char c)

Since: API Level 1

Appends a char c to the CharArrayWriter. The method works the same way as write(c).

Parameters
c the character appended to the CharArrayWriter.
Returns
  • this CharArrayWriter.

public CharArrayWriter append (CharSequence csq)

Since: API Level 1

Appends a CharSequence to the CharArrayWriter. The method works the same way as write(csq.toString()). If csq is null, then it will be substituted with the string "null".

Parameters
csq the CharSequence appended to the CharArrayWriter, may be null.
Returns
  • this CharArrayWriter.

public CharArrayWriter append (CharSequence csq, int start, int end)

Since: API Level 1

Append a subsequence of a CharSequence to the CharArrayWriter. The first and last characters of the subsequence are specified by the parameters start and end. A call to CharArrayWriter.append(csq) works the same way as CharArrayWriter.write(csq.subSequence(start, end).toString). If csq is null, then it will be substituted with the string "null".

Parameters
csq the CharSequence appended to the CharArrayWriter, may be null.
start the index of the first character in the CharSequence appended to the CharArrayWriter.
end the index of the character after the last one in the CharSequence appended to the CharArrayWriter.
Returns
  • this CharArrayWriter.
Throws
IndexOutOfBoundsException if start < 0, end < 0, start > end, or if end is greater than the length of csq.

public void close ()

Since: API Level 1

Closes this writer. The implementation in CharArrayWriter does nothing.

public void flush ()

Since: API Level 1

Flushes this writer. The implementation in CharArrayWriter does nothing.

public void reset ()

Since: API Level 1

Resets this writer. The current write position is reset to the beginning of the buffer. All written characters are lost and the size of this writer is set to 0.

public int size ()

Since: API Level 1

Returns the size of this writer, that is the number of characters it stores. This number changes if this writer is reset or when more characters are written to it.

Returns
  • this CharArrayWriter's current size in characters.

public char[] toCharArray ()

Since: API Level 1

Returns the contents of the receiver as a char array. The array returned is a copy and any modifications made to this writer after calling this method are not reflected in the result.

Returns
  • this CharArrayWriter's contents as a new char array.

public String toString ()

Since: API Level 1

Returns the contents of this CharArrayWriter as a string. The string returned is a copy and any modifications made to this writer after calling this method are not reflected in the result.

Returns
  • this CharArrayWriters contents as a new string.

public void write (String str, int offset, int len)

Since: API Level 1

Writes count number of characters starting at offset from the string str to this CharArrayWriter.

Parameters
str the non-null string containing the characters to write.
offset the index of the first character in str to write.
len the number of characters to retrieve and write.
Throws
NullPointerException if str is null.
StringIndexOutOfBoundsException if offset < 0 or len < 0, or if offset + len is bigger than the length of str.

public void write (int oneChar)

Since: API Level 1

Writes the specified character oneChar to this writer. This implementation writes the two low order bytes of the integer oneChar to the buffer.

Parameters
oneChar the character to write.

public void write (char[] c, int offset, int len)

Since: API Level 1

Writes count characters starting at offset in c to this writer.

Parameters
c the non-null array containing characters to write.
offset the index of the first character in buf to write.
len maximum number of characters to write.
Throws
IndexOutOfBoundsException if offset < 0 or len < 0, or if offset + len is bigger than the size of c.

public void writeTo (Writer out)

Since: API Level 1

Writes the contents of this CharArrayWriter to another Writer. The output is all the characters that have been written to the receiver since the last reset or since it was created.

Parameters
out the non-null Writer on which to write the contents.
Throws
NullPointerException if out is null.
IOException if an error occurs attempting to write out the contents.