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 Voodoo to figure out the charset encoding of the XML document written to the stream.
  Since:
    2.0
  See Also:
    `XmlStreamReader`

- - ### Field Summary

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

      `lock`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XmlStreamWriter(File file)` Constructs a new XML stream writer for the specified file with a default encoding of UTF-8.
    `XmlStreamWriter(File file, String defaultEncoding)` Constructs a new XML stream writer for the specified file with the specified default encoding.
    `XmlStreamWriter(OutputStream out)` Constructs a new XML stream writer for the specified output stream with a default encoding of UTF-8.
    `XmlStreamWriter(OutputStream out, String defaultEncoding)` Constructs a new XML stream writer for the specified output stream with the specified default encoding.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`

- - ### Constructor Detail

    - #### XmlStreamWriter

          public XmlStreamWriter(OutputStream out)

      Constructs a new XML stream writer for the specified output stream with a default encoding of UTF-8.
      Parameters:
        `out` - The output stream

    - #### XmlStreamWriter

          public XmlStreamWriter(OutputStream out,
                                 String defaultEncoding)

      Constructs a new XML stream writer for the specified output stream with the specified default encoding.
      Parameters:
        `out` - The output stream
        `defaultEncoding` - The default encoding if not encoding could be detected

    - #### XmlStreamWriter

          public XmlStreamWriter(File file)
                          throws FileNotFoundException

      Constructs a new XML stream writer for the specified file with a default encoding of UTF-8.
      Parameters:
        `file` - The file to write to
      Throws:
        `FileNotFoundException` - if there is an error creating or opening the file

    - #### XmlStreamWriter

          public XmlStreamWriter(File file,
                                 String defaultEncoding)
                          throws FileNotFoundException

      Constructs a new XML stream writer for the specified file with the specified default encoding.
      Parameters:
        `file` - The file to write to
        `defaultEncoding` - The default encoding if not encoding could be detected
      Throws:
        `FileNotFoundException` - if there is an error creating or opening the file

  - ### Method Detail

    - #### getEncoding

          public String getEncoding()

      Returns the detected encoding.
      Returns:
        the detected encoding

    - #### getDefaultEncoding

          public String getDefaultEncoding()

      Returns the default encoding.
      Returns:
        the default encoding

    - #### 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

    - #### 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

Copyright © 2002–2021 The Apache Software Foundation. All rights reserved.