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
Version:
  $Id$

### Field Summary

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

`lock`

### Constructor Summary

Constructors
Constructor and Description
`FileWriterWithEncoding(File file, Charset encoding)` 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 encoding)` Constructs a FileWriterWithEncoding with a file encoding.
`FileWriterWithEncoding(File file, CharsetEncoder encoding, boolean append)` Constructs a FileWriterWithEncoding with a file encoding.
`FileWriterWithEncoding(File file, String encoding)` Constructs a FileWriterWithEncoding with a file encoding.
`FileWriterWithEncoding(File file, String encoding, boolean append)` Constructs a FileWriterWithEncoding with a file encoding.
`FileWriterWithEncoding(String filename, Charset encoding)` Constructs a FileWriterWithEncoding with a file encoding.
`FileWriterWithEncoding(String filename, Charset encoding, 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 encoding, boolean append)` Constructs a FileWriterWithEncoding with a file encoding.
`FileWriterWithEncoding(String filename, String encoding)` Constructs a FileWriterWithEncoding with a file encoding.
`FileWriterWithEncoding(String filename, String encoding, boolean append)` Constructs a FileWriterWithEncoding with a file encoding.

### Method Summary

All Methods Instance Methods Concrete Methods
`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 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,
                                  String encoding,
                                  boolean append)
                           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
  `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 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,
                                  Charset encoding,
                                  boolean append)
                           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
  `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 encoding,
                                  boolean append)
                           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
  `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 encoding)
                           throws IOException

Constructs a FileWriterWithEncoding with a file encoding.

Parameters:
  `file` - the file to write to, not null
  `encoding` - 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,
                                  String encoding,
                                  boolean append)
                           throws IOException

Constructs a FileWriterWithEncoding with a file encoding.

Parameters:
  `file` - the file to write to, not null
  `encoding` - 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

#### FileWriterWithEncoding

    public FileWriterWithEncoding(File file,
                                  Charset encoding)
                           throws IOException

Constructs a FileWriterWithEncoding with a file encoding.

Parameters:
  `file` - the file to write to, not null
  `encoding` - 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 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

#### FileWriterWithEncoding

    public FileWriterWithEncoding(File file,
                                  CharsetEncoder encoding)
                           throws IOException

Constructs a FileWriterWithEncoding with a file encoding.

Parameters:
  `file` - the file to write to, not null
  `encoding` - 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 encoding,
                                  boolean append)
                           throws IOException

Constructs a FileWriterWithEncoding with a file encoding.

Parameters:
  `file` - the file to write to, not null
  `encoding` - 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