interface Appendable

Known Indirect Subclasses

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

This class implements a character buffer that can be used as an Writer.

FileWriter

Writes text to character files using a default buffer size.

FilterWriter

Abstract class for writing filtered character streams.

OutputStreamWriter

An OutputStreamWriter is a bridge from character streams to byte streams: Characters written to it are encoded into bytes using a specified charset.

PipedWriter

Piped character-output streams.

PrintWriter

Prints formatted representations of objects to a text-output stream.

SpannableStringBuilder

This is the class for text whose content and markup can both be changed.

StringWriter

A character stream that collects its output in a string buffer, which can then be used to construct a string.

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 java.util.Formatter.

The characters to be appended should be valid Unicode characters as described in Unicode Character Representation. 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 Appendable

Appends the specified character to this Appendable.

abstract Appendable

Appends the specified character sequence to this Appendable.

abstract Appendable

append(csq: CharSequence?, start: Int, end: Int)

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

Public methods

append

abstract fun append(c: Char): Appendable

Appends the specified character to this Appendable.

Parameters
c Char: The character to append
Return
Appendable A reference to this Appendable
Exceptions
java.io.IOException If an I/O error occurs

append

abstract fun append(csq: CharSequence?): Appendable

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 java.nio.CharBuffer then the subsequence to append is defined by the buffer's position and limit.

Parameters
csq CharSequence?: The character sequence to append. If csq is null, then the four characters "null" are appended to this Appendable.
Return
Appendable A reference to this Appendable
Exceptions
java.io.IOException If an I/O error occurs

append

abstract fun append(
    csq: CharSequence?,
    start: Int,
    end: Int
): Appendable

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)) 
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".
start Int: The index of the first character in the subsequence
end Int: The index of the character following the last character in the subsequence
Return
Appendable A reference to this Appendable
Exceptions
java.io.IOException If an I/O error occurs
java.lang.IndexOutOfBoundsException If start or end are negative, start is greater than end, or end is greater than csq.length()

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2026-02-13 UTC.