org.apache.commons.io.output

## Class XmlStreamWriter

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

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

      public class XmlStreamWriter
      extends Writer

  Character stream that handles all the necessary work to figure out the charset encoding of the XML document written to the stream.

  To build an instance, use `XmlStreamWriter.Builder`.

  See Also:
    `XmlStreamWriter.Builder`, `XmlStreamReader`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `XmlStreamWriter.Builder` Builds a new `XmlStreamWriter`.

  - ### Field Summary

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

      `lock`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static XmlStreamWriter.Builder` | `builder()` Constructs a new `XmlStreamWriter.Builder`.
    `void` | `close()` Closes the underlying writer.
    `void` | `flush()` Flushes the underlying writer.
    `String` | `getDefaultEncoding()` Returns the default encoding.
    `String` | `getEncoding()` Returns the detected encoding.
    `void` | `write(char[] cbuf, int off, int len)` Writes the characters to the underlying writer, detecting encoding.

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

      `append, append, append, write, write, write, write`

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

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

- - ### Method Detail

    - #### builder

          public static XmlStreamWriter.Builder builder()

      Constructs a new `XmlStreamWriter.Builder`.
      Returns:
        a new `XmlStreamWriter.Builder`.

    - #### close

          public void close()
                     throws IOException

      Closes the underlying writer.
      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in class `Writer`
      Throws:
        `IOException` - if an error occurs closing the underlying writer

    - #### flush

          public void flush()
                     throws IOException

      Flushes the underlying writer.
      Specified by:
        `flush` in interface `Flushable`
      Specified by:
        `flush` in class `Writer`
      Throws:
        `IOException` - if an error occurs flushing the underlying writer

    - #### getDefaultEncoding

          public String getDefaultEncoding()

      Returns the default encoding.
      Returns:
        the default encoding

    - #### getEncoding

          public String getEncoding()

      Returns the detected encoding.
      Returns:
        the detected encoding

    - #### write

          public void write(char[] cbuf,
                            int off,
                            int len)
                     throws IOException

      Writes the characters to the underlying writer, detecting encoding.
      Specified by:
        `write` in class `Writer`
      Parameters:
        `cbuf` - the buffer to write the characters from
        `off` - The start offset
        `len` - The number of characters to write
      Throws:
        `IOException` - if an error occurs detecting the encoding