Uses of Class java.io.Writer (Java Platform SE 8 )
Date: 2026-04-17

## Uses of Class
java.io.Writer

- Packages that use Writer
  Package | Description
  --- | ---
  java.io | Provides for system input and output through data streams, serialization and the file system.
  java.nio.channels | Defines channels, which represent connections to entities that are capable of performing I/O operations, such as files and sockets; defines selectors, for multiplexed, non-blocking I/O operations.
  java.sql | Provides the API for accessing and processing data stored in a data source (usually a relational database) using the JavaTM programming language.
  java.util | Contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
  javax.lang.model.util | Utilities to assist in the processing of program elements and types.
  javax.script | The scripting API consists of interfaces and classes that define Java TM Scripting Engines and provides a framework for their use in Java applications.
  javax.sql.rowset | Standard interfaces and base classes for JDBC `RowSet` implementations.
  javax.sql.rowset.serial | Provides utility classes to allow serializable mappings between SQL types and data types in the Java programming language.
  javax.sql.rowset.spi | The standard classes and interfaces that a third party vendor has to use in its implementation of a synchronization provider.
  javax.swing.text | Provides classes and interfaces that deal with editable and noneditable text components.
  javax.swing.text.html | Provides the class `HTMLEditorKit` and supporting classes for creating HTML text editors.
  javax.swing.text.rtf | Provides a class (`RTFEditorKit`) for creating Rich-Text-Format text editors.
  javax.tools | Provides interfaces for tools which can be invoked from a program, for example, compilers.
  javax.xml.bind | Provides a runtime binding framework for client applications including unmarshalling, marshalling, and validation capabilities.
  javax.xml.bind.helpers | JAXB Provider Use Only: Provides partial default implementations for some of the `javax.xml.bind` interfaces.
  javax.xml.stream |
  javax.xml.stream.events |
  javax.xml.transform.stream | This package implements stream- and URI- specific transformation APIs.
  org.w3c.dom.ls |

- - ### Uses of Writer in java.io

    Subclasses of Writer in java.io
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BufferedWriter` Writes text to a character-output stream, buffering characters so as to provide for the efficient writing of single characters, arrays, and strings.
    `class` | `CharArrayWriter` This class implements a character buffer that can be used as an Writer.
    `class` | `FileWriter` Convenience class for writing character files.
    `class` | `FilterWriter` Abstract class for writing filtered character streams.
    `class` | `OutputStreamWriter` An OutputStreamWriter is a bridge from character streams to byte streams: Characters written to it are encoded into bytes using a specified `charset`.
    `class` | `PipedWriter` Piped character-output streams.
    `class` | `PrintWriter` Prints formatted representations of objects to a text-output stream.
    `class` | `StringWriter` A character stream that collects its output in a string buffer, which can then be used to construct a string.

    Fields in java.io declared as Writer
    Modifier and Type | Field and Description
    --- | ---
    `protected Writer` | PrintWriter.`out` The underlying character-output stream of this `PrintWriter`.
    `protected Writer` | FilterWriter.`out` The underlying character-output stream.

    Methods in java.io that return Writer
    Modifier and Type | Method and Description
    --- | ---
    `Writer` | Writer.`append(char c)` Appends the specified character to this writer.
    `Writer` | Writer.`append(CharSequence csq)` Appends the specified character sequence to this writer.
    `Writer` | Writer.`append(CharSequence csq, int start, int end)` Appends a subsequence of the specified character sequence to this writer.

    Methods in java.io with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `void` | CharArrayWriter.`writeTo(Writer out)` Writes the contents of the buffer to another character stream.

    Constructors in java.io with parameters of type Writer
    Constructor and Description
    `BufferedWriter(Writer out)` Creates a buffered character-output stream that uses a default-sized output buffer.
    `BufferedWriter(Writer out, int sz)` Creates a new buffered character-output stream that uses an output buffer of the given size.
    `FilterWriter(Writer out)` Create a new filtered writer.
    `PrintWriter(Writer out)` Creates a new PrintWriter, without automatic line flushing.
    `PrintWriter(Writer out, boolean autoFlush)` Creates a new PrintWriter.

  - ### Uses of Writer in java.nio.channels

    Methods in java.nio.channels that return Writer
    Modifier and Type | Method and Description
    --- | ---
    `static Writer` | Channels.`newWriter(WritableByteChannel ch, CharsetEncoder enc, int minBufferCap)` Constructs a writer that encodes characters using the given encoder and writes the resulting bytes to the given channel.
    `static Writer` | Channels.`newWriter(WritableByteChannel ch, String csName)` Constructs a writer that encodes characters according to the named charset and writes the resulting bytes to the given channel.

  - ### Uses of Writer in java.sql

    Methods in java.sql that return Writer
    Modifier and Type | Method and Description
    --- | ---
    `Writer` | SQLXML.`setCharacterStream()` Retrieves a stream to be used to write the XML value that this SQLXML instance represents.
    `Writer` | Clob.`setCharacterStream(long pos)` Retrieves a stream to be used to write a stream of Unicode characters to the `CLOB` value that this `Clob` object represents, at position `pos`.

  - ### Uses of Writer in java.util

    Methods in java.util with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `void` | Properties.`store(Writer writer, String comments)` Writes this property list (key and element pairs) in this `Properties` table to the output character stream in a format suitable for using the `load(Reader)` method.

  - ### Uses of Writer in javax.lang.model.util

    Methods in javax.lang.model.util with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `void` | Elements.`printElements(Writer w, Element... elements)` Prints a representation of the elements to the given writer in the specified order.

  - ### Uses of Writer in javax.script

    Fields in javax.script declared as Writer
    Modifier and Type | Field and Description
    --- | ---
    `protected Writer` | SimpleScriptContext.`errorWriter` This is the writer to be used to output errors from scripts.
    `protected Writer` | SimpleScriptContext.`writer` This is the writer to be used to output from scripts.

    Methods in javax.script that return Writer
    Modifier and Type | Method and Description
    --- | ---
    `Writer` | SimpleScriptContext.`getErrorWriter()` Returns the `Writer` used to display error output.
    `Writer` | ScriptContext.`getErrorWriter()` Returns the `Writer` used to display error output.
    `Writer` | SimpleScriptContext.`getWriter()` Returns the `Writer` for scripts to use when displaying output.
    `Writer` | ScriptContext.`getWriter()` Returns the `Writer` for scripts to use when displaying output.

    Methods in javax.script with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `void` | SimpleScriptContext.`setErrorWriter(Writer writer)` Sets the `Writer` used to display error output.
    `void` | ScriptContext.`setErrorWriter(Writer writer)` Sets the `Writer` used to display error output.
    `void` | SimpleScriptContext.`setWriter(Writer writer)` Sets the `Writer` for scripts to use when displaying output.
    `void` | ScriptContext.`setWriter(Writer writer)` Sets the `Writer` for scripts to use when displaying output.

  - ### Uses of Writer in javax.sql.rowset

    Methods in javax.sql.rowset with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `void` | WebRowSet.`writeXml(ResultSet rs, Writer writer)` Populates this `WebRowSet` object with the contents of the given `ResultSet` object and writes its data, properties, and metadata to the given `Writer` object in XML format.
    `void` | WebRowSet.`writeXml(Writer writer)` Writes the data, properties, and metadata for this `WebRowSet` object to the given `Writer` object in XML format.

  - ### Uses of Writer in javax.sql.rowset.serial

    Methods in javax.sql.rowset.serial that return Writer
    Modifier and Type | Method and Description
    --- | ---
    `Writer` | SerialClob.`setCharacterStream(long pos)` Retrieves a stream to be used to write a stream of Unicode characters to the `CLOB` value that this `SerialClob` object represents, at position `pos`.

  - ### Uses of Writer in javax.sql.rowset.spi

    Methods in javax.sql.rowset.spi with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `void` | XmlWriter.`writeXML(WebRowSet caller, Writer writer)` Writes the given `WebRowSet` object to the specified `java.io.Writer` output stream as an XML document.

  - ### Uses of Writer in javax.swing.text

    Methods in javax.swing.text that return Writer
    Modifier and Type | Method and Description
    --- | ---
    `protected Writer` | AbstractWriter.`getWriter()` Returns the Writer that is used to output the content.

    Methods in javax.swing.text with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `void` | JTextComponent.`write(Writer out)` Stores the contents of the model into the given stream.
    `abstract void` | EditorKit.`write(Writer out, Document doc, int pos, int len)` Writes content from a document to the given stream in a format appropriate for this kind of content handler.
    `void` | DefaultEditorKit.`write(Writer out, Document doc, int pos, int len)` Writes content from a document to the given stream as plain text.

    Constructors in javax.swing.text with parameters of type Writer
    Constructor and Description
    `AbstractWriter(Writer w, Document doc)` Creates a new AbstractWriter.
    `AbstractWriter(Writer w, Document doc, int pos, int len)` Creates a new AbstractWriter.
    `AbstractWriter(Writer w, Element root)` Creates a new AbstractWriter.
    `AbstractWriter(Writer w, Element root, int pos, int len)` Creates a new AbstractWriter.

  - ### Uses of Writer in javax.swing.text.html

    Methods in javax.swing.text.html with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `void` | HTMLEditorKit.`write(Writer out, Document doc, int pos, int len)` Write content from a document to the given stream in a format appropriate for this kind of content handler.

    Constructors in javax.swing.text.html with parameters of type Writer
    Constructor and Description
    `HTMLWriter(Writer w, HTMLDocument doc)` Creates a new HTMLWriter.
    `HTMLWriter(Writer w, HTMLDocument doc, int pos, int len)` Creates a new HTMLWriter.
    `MinimalHTMLWriter(Writer w, StyledDocument doc)` Creates a new MinimalHTMLWriter.
    `MinimalHTMLWriter(Writer w, StyledDocument doc, int pos, int len)` Creates a new MinimalHTMLWriter.

  - ### Uses of Writer in javax.swing.text.rtf

    Methods in javax.swing.text.rtf with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `void` | RTFEditorKit.`write(Writer out, Document doc, int pos, int len)` Write content from a document to the given stream as plain text.

  - ### Uses of Writer in javax.tools

    Methods in javax.tools that return Writer
    Modifier and Type | Method and Description
    --- | ---
    `Writer` | ForwardingFileObject.`openWriter()`
    `Writer` | SimpleJavaFileObject.`openWriter()` Wraps the result of openOutputStream in a Writer.
    `Writer` | FileObject.`openWriter()` Gets a Writer for this file object.

    Methods in javax.tools with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `DocumentationTool.DocumentationTask` | DocumentationTool.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Class<?> docletClass, Iterable<String> options, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a documentation task with the given components and arguments.
    `JavaCompiler.CompilationTask` | JavaCompiler.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Iterable<String> options, Iterable<String> classes, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a compilation task with the given components and arguments.

  - ### Uses of Writer in javax.xml.bind

    Methods in javax.xml.bind with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `static void` | JAXB.`marshal(Object jaxbObject, Writer xml)` Writes a Java object tree to XML and store it to the specified location.
    `void` | Marshaller.`marshal(Object jaxbElement, Writer writer)` Marshal the content tree rooted at `jaxbElement` into a Writer.

  - ### Uses of Writer in javax.xml.bind.helpers

    Methods in javax.xml.bind.helpers with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `void` | AbstractMarshallerImpl.`marshal(Object obj, Writer w)`

  - ### Uses of Writer in javax.xml.stream

    Methods in javax.xml.stream with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `abstract XMLEventWriter` | XMLOutputFactory.`createXMLEventWriter(Writer stream)` Create a new XMLEventWriter that writes to a writer
    `abstract XMLStreamWriter` | XMLOutputFactory.`createXMLStreamWriter(Writer stream)` Create a new XMLStreamWriter that writes to a writer

  - ### Uses of Writer in javax.xml.stream.events

    Methods in javax.xml.stream.events with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `void` | XMLEvent.`writeAsEncodedUnicode(Writer writer)` This method will write the XMLEvent as per the XML 1.0 specification as Unicode characters.

  - ### Uses of Writer in javax.xml.transform.stream

    Methods in javax.xml.transform.stream that return Writer
    Modifier and Type | Method and Description
    --- | ---
    `Writer` | StreamResult.`getWriter()` Get the character stream that was set with setWriter.

    Methods in javax.xml.transform.stream with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `void` | StreamResult.`setWriter(Writer writer)` Set the writer that is to receive the result.

    Constructors in javax.xml.transform.stream with parameters of type Writer
    Constructor and Description
    `StreamResult(Writer writer)` Construct a StreamResult from a character stream.

  - ### Uses of Writer in org.w3c.dom.ls

    Methods in org.w3c.dom.ls that return Writer
    Modifier and Type | Method and Description
    --- | ---
    `Writer` | LSOutput.`getCharacterStream()` An attribute of a language and binding dependent type that represents a writable stream to which 16-bit units can be output.

    Methods in org.w3c.dom.ls with parameters of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `void` | LSOutput.`setCharacterStream(Writer characterStream)` An attribute of a language and binding dependent type that represents a writable stream to which 16-bit units can be output.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.