public class

StringWriter

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

Class Overview

A specialized Writer that writes characters to a StringBuffer in a sequential manner, appending them in the process. The result can later be queried using the StringWriter(int) or toString() methods.

See Also

Summary

[Expand]
Inherited Fields
From class java.io.Writer
Public Constructors
StringWriter()
Constructs a new StringWriter which has a StringBuffer allocated with the default size of 16 characters.
StringWriter(int initialSize)
Constructs a new StringWriter which has a StringBuffer allocated with a size of initialSize characters.
Public Methods
StringWriter append(CharSequence csq)
Appends the character sequence csq to this writer's StringBuffer.
StringWriter append(CharSequence csq, int start, int end)
Appends a subsequence of the character sequence csq to this writer's StringBuffer.
StringWriter append(char c)
Appends the character c to this writer's StringBuffer.
void close()
Calling this method has no effect.
void flush()
Calling this method has no effect.
StringBuffer getBuffer()
Gets a reference to this writer's internal StringBuffer.
String toString()
Gets a copy of the contents of this writer as a string.
void write(char[] cbuf, int offset, int count)
Writes count characters starting at offset in buf to this writer's StringBuffer.
void write(String str, int offset, int count)
Writes count characters from str starting at offset to this writer's StringBuffer.
void write(int oneChar)
Writes one character to this writer's StringBuffer.
void write(String str)
Writes the characters from the specified string to this writer's StringBuffer.
[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

Public Constructors

public StringWriter ()

Since: API Level 1

Constructs a new StringWriter which has a StringBuffer allocated with the default size of 16 characters. The StringBuffer is also the lock used to synchronize access to this writer.

public StringWriter (int initialSize)

Since: API Level 1

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

Parameters
initialSize the intial size of the target string buffer.

Public Methods

public StringWriter append (CharSequence csq)

Since: API Level 1

Appends the character sequence csq to this writer's StringBuffer. This method works the same way as StringWriter.write(csq.toString()). If csq is null, then the string "null" is written to the target stream.

Parameters
csq the character sequence appended to the target.
Returns
  • this writer.

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

Since: API Level 1

Appends a subsequence of the character sequence csq to this writer's StringBuffer. This method works the same way as StringWriter.writer(csq.subsequence(start, end).toString()). If csq is null, then the specified subsequence of the string "null" will be written to the target.

Parameters
csq the character sequence appended to the target.
start the index of the first char in the character sequence appended to the target.
end the index of the character following the last character of the subsequence appended to the target.
Returns
  • this writer.
Throws
IndexOutOfBoundsException if start > end, start < 0, end < 0 or either start or end are greater or equal than the length of csq.

public StringWriter append (char c)

Since: API Level 1

Appends the character c to this writer's StringBuffer. This method works the same way as write(int).

Parameters
c the character to append to the target stream.
Returns
  • this writer.

public void close ()

Since: API Level 1

Calling this method has no effect. In contrast to most Writer subclasses, the other methods in StringWriter do not throw an IOException if close() has been called.

Throws
IOException if an error occurs while closing this writer.

public void flush ()

Since: API Level 1

Calling this method has no effect.

public StringBuffer getBuffer ()

Since: API Level 1

Gets a reference to this writer's internal StringBuffer. Any changes made to the returned buffer are reflected in this writer.

Returns
  • a reference to this writer's internal StringBuffer.

public String toString ()

Since: API Level 1

Gets a copy of the contents of this writer as a string.

Returns
  • this writer's contents as a string.

public void write (char[] cbuf, int offset, int count)

Since: API Level 1

Writes count characters starting at offset in buf to this writer's StringBuffer.

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

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

Since: API Level 1

Writes count characters from str starting at offset to this writer's StringBuffer.

Parameters
str the non-null string containing the characters to write.
offset the index of the first character in str to write.
count the number of characters from str to write.
Throws
StringIndexOutOfBoundsException if offset < 0 or count < 0, or if offset + count is greater than the length of str.

public void write (int oneChar)

Since: API Level 1

Writes one character to this writer's StringBuffer. Only the two least significant bytes of the integer oneChar are written.

Parameters
oneChar the character to write to this writer's StringBuffer.

public void write (String str)

Since: API Level 1

Writes the characters from the specified string to this writer's StringBuffer.

Parameters
str the non-null string containing the characters to write.