org.apache.commons.io.output

## Class FileWriterWithEncoding

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

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

      public class FileWriterWithEncoding
      extends Writer

  Writer of files that allows the encoding to be set.

  This class provides a simple alternative to `FileWriter` that allows an encoding to be set. Unfortunately, it cannot subclass `FileWriter`.

  By default, the file will be overwritten, but this may be changed to append.

  The encoding must be specified using either the name of the `Charset`, the `Charset`, or a `CharsetEncoder`. If the default encoding is required then use the `FileWriter` directly, rather than this implementation.

  Since:
    1.4

- - ### Field Summary

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

      `lock`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FileWriterWithEncoding(File file, Charset charset)` Constructs a FileWriterWithEncoding with a file encoding.
    `FileWriterWithEncoding(File file, Charset encoding, boolean append)` Constructs a FileWriterWithEncoding with a file encoding.
    `FileWriterWithEncoding(File file, CharsetEncoder charsetEncoder)` Constructs a FileWriterWithEncoding with a file encoding.
    `FileWriterWithEncoding(File file, CharsetEncoder charsetEncoder, boolean append)` Constructs a FileWriterWithEncoding with a file encoding.
    `FileWriterWithEncoding(File file, String charsetName)` Constructs a FileWriterWithEncoding with a file encoding.
    `FileWriterWithEncoding(File file, String charsetName, boolean append)` Constructs a FileWriterWithEncoding with a file encoding.
    `FileWriterWithEncoding(String fileName, Charset charset)` Constructs a FileWriterWithEncoding with a file encoding.
    `FileWriterWithEncoding(String fileName, Charset charset, boolean append)` Constructs a FileWriterWithEncoding with a file encoding.
    `FileWriterWithEncoding(String fileName, CharsetEncoder encoding)` Constructs a FileWriterWithEncoding with a file encoding.
    `FileWriterWithEncoding(String fileName, CharsetEncoder charsetEncoder, boolean append)` Constructs a FileWriterWithEncoding with a file encoding.
    `FileWriterWithEncoding(String fileName, String charsetName)` Constructs a FileWriterWithEncoding with a file encoding.
    `FileWriterWithEncoding(String fileName, String charsetName, boolean append)` Constructs a FileWriterWithEncoding with a file encoding.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Close the stream.
    `void` | `flush()` Flush the stream.
    `void` | `write(char[] chr)` Write the characters from an array.
    `void` | `write(char[] chr, int st, int end)` Write the specified characters from an array.
    `void` | `write(int idx)` Write a character.
    `void` | `write(String str)` Write the characters from a string.
    `void` | `write(String str, int st, int end)` Write the specified characters from a string.

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

      `append, append, append`

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

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

- - ### Constructor Detail

    - #### FileWriterWithEncoding

          public FileWriterWithEncoding(String fileName,
                                        String charsetName)
                                 throws IOException

      Constructs a FileWriterWithEncoding with a file encoding.
      Parameters:
        `fileName` - the name of the file to write to, not null
        `charsetName` - the name of the requested charset, not null
      Throws:
        `NullPointerException` - if the file name or encoding is null
        `IOException` - in case of an I/O error

    - #### FileWriterWithEncoding

          public FileWriterWithEncoding(String fileName,
                                        String charsetName,
                                        boolean append)
                                 throws IOException

      Constructs a FileWriterWithEncoding with a file encoding.
      Parameters:
        `fileName` - the name of the file to write to, not null
        `charsetName` - the name of the requested charset, not null
        `append` - true if content should be appended, false to overwrite
      Throws:
        `NullPointerException` - if the file name or encoding is null
        `IOException` - in case of an I/O error

    - #### FileWriterWithEncoding

          public FileWriterWithEncoding(String fileName,
                                        Charset charset)
                                 throws IOException

      Constructs a FileWriterWithEncoding with a file encoding.
      Parameters:
        `fileName` - the name of the file to write to, not null
        `charset` - the charset to use, not null
      Throws:
        `NullPointerException` - if the file name or encoding is null
        `IOException` - in case of an I/O error

    - #### FileWriterWithEncoding

          public FileWriterWithEncoding(String fileName,
                                        Charset charset,
                                        boolean append)
                                 throws IOException

      Constructs a FileWriterWithEncoding with a file encoding.
      Parameters:
        `fileName` - the name of the file to write to, not null
        `charset` - the encoding to use, not null
        `append` - true if content should be appended, false to overwrite
      Throws:
        `NullPointerException` - if the file name or encoding is null
        `IOException` - in case of an I/O error

    - #### FileWriterWithEncoding

          public FileWriterWithEncoding(String fileName,
                                        CharsetEncoder encoding)
                                 throws IOException

      Constructs a FileWriterWithEncoding with a file encoding.
      Parameters:
        `fileName` - the name of the file to write to, not null
        `encoding` - the encoding to use, not null
      Throws:
        `NullPointerException` - if the file name or encoding is null
        `IOException` - in case of an I/O error

    - #### FileWriterWithEncoding

          public FileWriterWithEncoding(String fileName,
                                        CharsetEncoder charsetEncoder,
                                        boolean append)
                                 throws IOException

      Constructs a FileWriterWithEncoding with a file encoding.
      Parameters:
        `fileName` - the name of the file to write to, not null
        `charsetEncoder` - the encoding to use, not null
        `append` - true if content should be appended, false to overwrite
      Throws:
        `NullPointerException` - if the file name or encoding is null
        `IOException` - in case of an I/O error

    - #### FileWriterWithEncoding

          public FileWriterWithEncoding(File file,
                                        String charsetName)
                                 throws IOException

      Constructs a FileWriterWithEncoding with a file encoding.
      Parameters:
        `file` - the file to write to, not null
        `charsetName` - the name of the requested charset, not null
      Throws:
        `NullPointerException` - if the file or encoding is null
        `IOException` - in case of an I/O error

    - #### FileWriterWithEncoding

          public FileWriterWithEncoding(File file,
                                        String charsetName,
                                        boolean append)
                                 throws IOException

      Constructs a FileWriterWithEncoding with a file encoding.
      Parameters:
        `file` - the file to write to, not null
        `charsetName` - the name of the requested charset, not null
        `append` - true if content should be appended, false to overwrite
      Throws:
        `NullPointerException` - if the file or encoding is null
        `IOException` - in case of an I/O error

    - #### FileWriterWithEncoding

          public FileWriterWithEncoding(File file,
                                        Charset charset)
                                 throws IOException

      Constructs a FileWriterWithEncoding with a file encoding.
      Parameters:
        `file` - the file to write to, not null
        `charset` - the encoding to use, not null
      Throws:
        `NullPointerException` - if the file or encoding is null
        `IOException` - in case of an I/O error

    - #### FileWriterWithEncoding

          public FileWriterWithEncoding(File file,
                                        Charset encoding,
                                        boolean append)
                                 throws IOException

      Constructs a FileWriterWithEncoding with a file encoding.
      Parameters:
        `file` - the file to write to, not null
        `encoding` - the name of the requested charset, not null
        `append` - true if content should be appended, false to overwrite
      Throws:
        `NullPointerException` - if the file or encoding is null
        `IOException` - in case of an I/O error

    - #### FileWriterWithEncoding

          public FileWriterWithEncoding(File file,
                                        CharsetEncoder charsetEncoder)
                                 throws IOException

      Constructs a FileWriterWithEncoding with a file encoding.
      Parameters:
        `file` - the file to write to, not null
        `charsetEncoder` - the encoding to use, not null
      Throws:
        `NullPointerException` - if the file or encoding is null
        `IOException` - in case of an I/O error

    - #### FileWriterWithEncoding

          public FileWriterWithEncoding(File file,
                                        CharsetEncoder charsetEncoder,
                                        boolean append)
                                 throws IOException

      Constructs a FileWriterWithEncoding with a file encoding.
      Parameters:
        `file` - the file to write to, not null
        `charsetEncoder` - the encoding to use, not null
        `append` - true if content should be appended, false to overwrite
      Throws:
        `NullPointerException` - if the file or encoding is null
        `IOException` - in case of an I/O error

  - ### Method Detail

    - #### write

          public void write(int idx)
                     throws IOException

      Write a character.
      Overrides:
        `write` in class `Writer`
      Parameters:
        `idx` - the character to write
      Throws:
        `IOException` - if an I/O error occurs.

    - #### write

          public void write(char[] chr)
                     throws IOException

      Write the characters from an array.
      Overrides:
        `write` in class `Writer`
      Parameters:
        `chr` - the characters to write
      Throws:
        `IOException` - if an I/O error occurs.

    - #### write

          public void write(char[] chr,
                            int st,
                            int end)
                     throws IOException

      Write the specified characters from an array.
      Specified by:
        `write` in class `Writer`
      Parameters:
        `chr` - the characters to write
        `st` - The start offset
        `end` - The number of characters to write
      Throws:
        `IOException` - if an I/O error occurs.

    - #### write

          public void write(String str)
                     throws IOException

      Write the characters from a string.
      Overrides:
        `write` in class `Writer`
      Parameters:
        `str` - the string to write
      Throws:
        `IOException` - if an I/O error occurs.

    - #### write

          public void write(String str,
                            int st,
                            int end)
                     throws IOException

      Write the specified characters from a string.
      Overrides:
        `write` in class `Writer`
      Parameters:
        `str` - the string to write
        `st` - The start offset
        `end` - The number of characters to write
      Throws:
        `IOException` - if an I/O error occurs.

    - #### flush

          public void flush()
                     throws IOException

      Flush the stream.
      Specified by:
        `flush` in interface `Flushable`
      Specified by:
        `flush` in class `Writer`
      Throws:
        `IOException` - if an I/O error occurs.

    - #### close

          public void close()
                     throws IOException

      Close the stream.
      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in class `Writer`
      Throws:
        `IOException` - if an I/O error occurs.

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