org.apache.commons.io.output

## Class StringBuilderWriter

- java.lang.Object
- - java.io.Writer
  - - org.apache.commons.io.output.StringBuilderWriter

All Implemented Interfaces:
  Closeable, Flushable, Serializable, Appendable, AutoCloseable

    public class StringBuilderWriter
    extends Writer
    implements Serializable

`Writer` implementation that outputs to a `StringBuilder`.

NOTE: This implementation, as an alternative to `java.io.StringWriter`, provides an un-synchronized (i.e. for use in a single thread) implementation for better performance. For safe usage with multiple `Thread`s then `java.io.StringWriter` should be used.

Since:
  2.0
See Also:
  Serialized Form

### Field Summary

### Fields inherited from class java.io.Writer

`lock`

### Constructor Summary

Constructors
Constructor and Description
`StringBuilderWriter()` Constructs a new `StringBuilder` instance with default capacity.
`StringBuilderWriter(int capacity)` Constructs a new `StringBuilder` instance with the specified capacity.
`StringBuilderWriter(StringBuilder builder)` Constructs a new instance with the specified `StringBuilder`.

### Method Summary

All Methods Instance Methods Concrete Methods
`Writer` `append(char value)` Appends a single character to this Writer.
`Writer` `append(CharSequence value)` Appends a character sequence to this Writer.
`Writer` `append(CharSequence value, int start, int end)` Appends a portion of a character sequence to the `StringBuilder`.
`void` `close()` Closing this writer has no effect.
`void` `flush()` Flushing this writer has no effect.
`StringBuilder` `getBuilder()` Returns the underlying builder.
`String` `toString()` Returns `StringBuilder.toString()`.
`void` `write(char[] value, int offset, int length)` Writes a portion of a character array to the `StringBuilder`.
`void` `write(String value)` Writes a String to the `StringBuilder`.

### Methods inherited from class java.io.Writer

`write, write, write`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### StringBuilderWriter

    public StringBuilderWriter()

Constructs a new `StringBuilder` instance with default capacity.

#### StringBuilderWriter

    public StringBuilderWriter(int capacity)

Constructs a new `StringBuilder` instance with the specified capacity.

Parameters:
  `capacity` - The initial capacity of the underlying `StringBuilder`

#### StringBuilderWriter

    public StringBuilderWriter(StringBuilder builder)

Constructs a new instance with the specified `StringBuilder`.

If `builder` is null a new instance with default capacity will be created.

Parameters:
  `builder` - The String builder. May be null.

### Method Detail

#### append

    public Writer append(char value)

Appends a single character to this Writer.

Specified by:
  `append` in interface `Appendable`
Overrides:
  `append` in class `Writer`
Parameters:
  `value` - The character to append
Returns:
  This writer instance

#### append

    public Writer append(CharSequence value)

Appends a character sequence to this Writer.

Specified by:
  `append` in interface `Appendable`
Overrides:
  `append` in class `Writer`
Parameters:
  `value` - The character to append
Returns:
  This writer instance

#### append

    public Writer append(CharSequence value,
                         int start,
                         int end)

Appends a portion of a character sequence to the `StringBuilder`.

Specified by:
  `append` in interface `Appendable`
Overrides:
  `append` in class `Writer`
Parameters:
  `value` - The character to append
  `start` - The index of the first character
  `end` - The index of the last character + 1
Returns:
  This writer instance

#### close

    public void close()

Closing this writer has no effect.

Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in class `Writer`

#### flush

    public void flush()

Flushing this writer has no effect.

Specified by:
  `flush` in interface `Flushable`
Specified by:
  `flush` in class `Writer`

#### write

    public void write(String value)

Writes a String to the `StringBuilder`.

Overrides:
  `write` in class `Writer`
Parameters:
  `value` - The value to write

#### write

    public void write(char[] value,
                      int offset,
                      int length)

Writes a portion of a character array to the `StringBuilder`.

Specified by:
  `write` in class `Writer`
Parameters:
  `value` - The value to write
  `offset` - The index of the first character
  `length` - The number of characters to write

#### getBuilder

    public StringBuilder getBuilder()

Returns the underlying builder.

Returns:
  The underlying builder

#### toString

    public String toString()

Returns `StringBuilder.toString()`.

Overrides:
  `toString` in class `Object`
Returns:
  The contents of the String builder.