Class 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
    • 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