Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/java/lang/Appendable#pubmethods)

# Appendable


`
public


interface
Appendable
`


`


`

|---|
| java.lang.Appendable |

|---|
| Known indirect subclasses [BufferedWriter](https://developer.android.com/reference/java/io/BufferedWriter), [CharArrayWriter](https://developer.android.com/reference/java/io/CharArrayWriter), [CharBuffer](https://developer.android.com/reference/java/nio/CharBuffer), [Editable](https://developer.android.com/reference/android/text/Editable), [FileWriter](https://developer.android.com/reference/java/io/FileWriter), [FilterWriter](https://developer.android.com/reference/java/io/FilterWriter), [OutputStreamWriter](https://developer.android.com/reference/java/io/OutputStreamWriter), [PipedWriter](https://developer.android.com/reference/java/io/PipedWriter), [PrintStream](https://developer.android.com/reference/java/io/PrintStream), [PrintWriter](https://developer.android.com/reference/java/io/PrintWriter), [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder), [StringBuffer](https://developer.android.com/reference/java/lang/StringBuffer), [StringBuilder](https://developer.android.com/reference/java/lang/StringBuilder), [StringWriter](https://developer.android.com/reference/java/io/StringWriter), [Writer](https://developer.android.com/reference/java/io/Writer) |---|---| | [BufferedWriter](https://developer.android.com/reference/java/io/BufferedWriter) | Writes text to a character-output stream, buffering characters so as to provide for the efficient writing of single characters, arrays, and strings. | | [CharArrayWriter](https://developer.android.com/reference/java/io/CharArrayWriter) | This class implements a character buffer that can be used as an Writer. | | [CharBuffer](https://developer.android.com/reference/java/nio/CharBuffer) | A char buffer. | | [Editable](https://developer.android.com/reference/android/text/Editable) | This is the interface for text whose content and markup can be changed (as opposed to immutable text like Strings). | | [FileWriter](https://developer.android.com/reference/java/io/FileWriter) | Writes text to character files using a default buffer size. | | [FilterWriter](https://developer.android.com/reference/java/io/FilterWriter) | Abstract class for writing filtered character streams. | | [OutputStreamWriter](https://developer.android.com/reference/java/io/OutputStreamWriter) | An OutputStreamWriter is a bridge from character streams to byte streams: Characters written to it are encoded into bytes using a specified `https://developer.android.com/reference/java/nio/charset/Charset`. | | [PipedWriter](https://developer.android.com/reference/java/io/PipedWriter) | Piped character-output streams. | | [PrintStream](https://developer.android.com/reference/java/io/PrintStream) | A `PrintStream` adds functionality to another output stream, namely the ability to print representations of various data values conveniently. | | [PrintWriter](https://developer.android.com/reference/java/io/PrintWriter) | Prints formatted representations of objects to a text-output stream. | | [SpannableStringBuilder](https://developer.android.com/reference/android/text/SpannableStringBuilder) | This is the class for text whose content and markup can both be changed. | | [StringBuffer](https://developer.android.com/reference/java/lang/StringBuffer) | A thread-safe, mutable sequence of characters. | | [StringBuilder](https://developer.android.com/reference/java/lang/StringBuilder) | A mutable sequence of characters. | | [StringWriter](https://developer.android.com/reference/java/io/StringWriter) | A character stream that collects its output in a string buffer, which can then be used to construct a string. | | [Writer](https://developer.android.com/reference/java/io/Writer) | Abstract class for writing to character streams. | |

<br />

*** ** * ** ***

An object to which `char` sequences and values can be appended. The
`Appendable` interface must be implemented by any class whose
instances are intended to receive formatted output from a `https://developer.android.com/reference/java/util/Formatter`.

The characters to be appended should be valid Unicode characters as
described in [Unicode Character
Representation](https://developer.android.com/reference/java/lang/Character#unicode). Note that supplementary characters may be composed of
multiple 16-bit `char` values.

Appendables are not necessarily safe for multithreaded access. Thread
safety is the responsibility of classes that extend and implement this
interface.

Since this interface may be implemented by existing classes
with different styles of error handling there is no guarantee that
errors will be propagated to the invoker.

## Summary

| ### Public methods ||
|---|---|
| ` abstract https://developer.android.com/reference/java/lang/Appendable` | ` https://developer.android.com/reference/java/lang/Appendable#append(char)(char c) ` Appends the specified character to this `Appendable`. |
| ` abstract https://developer.android.com/reference/java/lang/Appendable` | ` https://developer.android.com/reference/java/lang/Appendable#append(java.lang.CharSequence,%20int,%20int)(https://developer.android.com/reference/java/lang/CharSequence csq, int start, int end) ` Appends a subsequence of the specified character sequence to this `Appendable`. |
| ` abstract https://developer.android.com/reference/java/lang/Appendable` | ` https://developer.android.com/reference/java/lang/Appendable#append(java.lang.CharSequence)(https://developer.android.com/reference/java/lang/CharSequence csq) ` Appends the specified character sequence to this `Appendable`. |

## Public methods

### append

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract Appendable append (char c)
```

Appends the specified character to this `Appendable`.

<br />

| Parameters ||
|---|---|
| `c` | `char`: The character to append <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Appendable` | A reference to this `Appendable` <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/io/IOException` | If an I/O error occurs |

### append

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract Appendable append (CharSequence csq, 
                int start, 
                int end)
```

Appends a subsequence of the specified character sequence to this
`Appendable`.

An invocation of this method of the form `out.append(csq, start, end)`
when `csq` is not `null`, behaves in
exactly the same way as the invocation

```
    out.append(csq.subSequence(start, end)) 
```

<br />

<br />

| Parameters ||
|---|---|
| `csq` | `CharSequence`: The character sequence from which a subsequence will be appended. If `csq` is `null`, then characters will be appended as if `csq` contained the four characters `"null"`. <br /> |
| `start` | `int`: The index of the first character in the subsequence <br /> |
| `end` | `int`: The index of the character following the last character in the subsequence <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Appendable` | A reference to this `Appendable` <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/io/IOException` | If an I/O error occurs |
| `https://developer.android.com/reference/java/lang/IndexOutOfBoundsException` | If `start` or `end` are negative, `start` is greater than `end`, or `end` is greater than `csq.length()` |

### append

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract Appendable append (CharSequence csq)
```

Appends the specified character sequence to this `Appendable`.

Depending on which class implements the character sequence
`csq`, the entire sequence may not be appended. For
instance, if `csq` is a `https://developer.android.com/reference/java/nio/CharBuffer` then
the subsequence to append is defined by the buffer's position and limit.

<br />

| Parameters ||
|---|---|
| `csq` | `CharSequence`: The character sequence to append. If `csq` is `null`, then the four characters `"null"` are appended to this Appendable. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Appendable` | A reference to this `Appendable` <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/io/IOException` | If an I/O error occurs |