Class FileWriterWithEncoding

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.Appendable, java.lang.AutoCloseable

    public class FileWriterWithEncoding
    extends java.io.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 Description
      FileWriterWithEncoding​(java.io.File file, java.lang.String charsetName)
      Constructs a FileWriterWithEncoding with a file encoding.
      FileWriterWithEncoding​(java.io.File file, java.lang.String charsetName, boolean append)
      Constructs a FileWriterWithEncoding with a file encoding.
      FileWriterWithEncoding​(java.io.File file, java.nio.charset.Charset charset)
      Constructs a FileWriterWithEncoding with a file encoding.
      FileWriterWithEncoding​(java.io.File file, java.nio.charset.CharsetEncoder charsetEncoder)
      Constructs a FileWriterWithEncoding with a file encoding.
      FileWriterWithEncoding​(java.io.File file, java.nio.charset.CharsetEncoder charsetEncoder, boolean append)
      Constructs a FileWriterWithEncoding with a file encoding.
      FileWriterWithEncoding​(java.io.File file, java.nio.charset.Charset encoding, boolean append)
      Constructs a FileWriterWithEncoding with a file encoding.
      FileWriterWithEncoding​(java.lang.String fileName, java.lang.String charsetName)
      Constructs a FileWriterWithEncoding with a file encoding.
      FileWriterWithEncoding​(java.lang.String fileName, java.lang.String charsetName, boolean append)
      Constructs a FileWriterWithEncoding with a file encoding.
      FileWriterWithEncoding​(java.lang.String fileName, java.nio.charset.Charset charset)
      Constructs a FileWriterWithEncoding with a file encoding.
      FileWriterWithEncoding​(java.lang.String fileName, java.nio.charset.CharsetEncoder encoding)
      Constructs a FileWriterWithEncoding with a file encoding.
      FileWriterWithEncoding​(java.lang.String fileName, java.nio.charset.CharsetEncoder charsetEncoder, boolean append)
      Constructs a FileWriterWithEncoding with a file encoding.
      FileWriterWithEncoding​(java.lang.String fileName, java.nio.charset.Charset charset, boolean append)
      Constructs a FileWriterWithEncoding with a file encoding.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method 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​(java.lang.String str)
      Write the characters from a string.
      void write​(java.lang.String str, int st, int end)
      Write the specified characters from a string.
      • Methods inherited from class java.io.Writer

        append, append, append, nullWriter
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FileWriterWithEncoding

        public FileWriterWithEncoding​(java.lang.String fileName,
                                      java.lang.String charsetName)
                               throws java.io.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:
        java.lang.NullPointerException - if the file name or encoding is null
        java.io.IOException - in case of an I/O error
      • FileWriterWithEncoding

        public FileWriterWithEncoding​(java.lang.String fileName,
                                      java.lang.String charsetName,
                                      boolean append)
                               throws java.io.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:
        java.lang.NullPointerException - if the file name or encoding is null
        java.io.IOException - in case of an I/O error
      • FileWriterWithEncoding

        public FileWriterWithEncoding​(java.lang.String fileName,
                                      java.nio.charset.Charset charset)
                               throws java.io.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:
        java.lang.NullPointerException - if the file name or encoding is null
        java.io.IOException - in case of an I/O error
      • FileWriterWithEncoding

        public FileWriterWithEncoding​(java.lang.String fileName,
                                      java.nio.charset.Charset charset,
                                      boolean append)
                               throws java.io.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:
        java.lang.NullPointerException - if the file name or encoding is null
        java.io.IOException - in case of an I/O error
      • FileWriterWithEncoding

        public FileWriterWithEncoding​(java.lang.String fileName,
                                      java.nio.charset.CharsetEncoder encoding)
                               throws java.io.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:
        java.lang.NullPointerException - if the file name or encoding is null
        java.io.IOException - in case of an I/O error
      • FileWriterWithEncoding

        public FileWriterWithEncoding​(java.lang.String fileName,
                                      java.nio.charset.CharsetEncoder charsetEncoder,
                                      boolean append)
                               throws java.io.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:
        java.lang.NullPointerException - if the file name or encoding is null
        java.io.IOException - in case of an I/O error
      • FileWriterWithEncoding

        public FileWriterWithEncoding​(java.io.File file,
                                      java.lang.String charsetName)
                               throws java.io.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:
        java.lang.NullPointerException - if the file or encoding is null
        java.io.IOException - in case of an I/O error
      • FileWriterWithEncoding

        public FileWriterWithEncoding​(java.io.File file,
                                      java.lang.String charsetName,
                                      boolean append)
                               throws java.io.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:
        java.lang.NullPointerException - if the file or encoding is null
        java.io.IOException - in case of an I/O error
      • FileWriterWithEncoding

        public FileWriterWithEncoding​(java.io.File file,
                                      java.nio.charset.Charset charset)
                               throws java.io.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:
        java.lang.NullPointerException - if the file or encoding is null
        java.io.IOException - in case of an I/O error
      • FileWriterWithEncoding

        public FileWriterWithEncoding​(java.io.File file,
                                      java.nio.charset.Charset encoding,
                                      boolean append)
                               throws java.io.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:
        java.lang.NullPointerException - if the file or encoding is null
        java.io.IOException - in case of an I/O error
      • FileWriterWithEncoding

        public FileWriterWithEncoding​(java.io.File file,
                                      java.nio.charset.CharsetEncoder charsetEncoder)
                               throws java.io.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:
        java.lang.NullPointerException - if the file or encoding is null
        java.io.IOException - in case of an I/O error
      • FileWriterWithEncoding

        public FileWriterWithEncoding​(java.io.File file,
                                      java.nio.charset.CharsetEncoder charsetEncoder,
                                      boolean append)
                               throws java.io.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:
        java.lang.NullPointerException - if the file or encoding is null
        java.io.IOException - in case of an I/O error
    • Method Detail

      • write

        public void write​(int idx)
                   throws java.io.IOException
        Write a character.
        Overrides:
        write in class java.io.Writer
        Parameters:
        idx - the character to write
        Throws:
        java.io.IOException - if an I/O error occurs.
      • write

        public void write​(char[] chr)
                   throws java.io.IOException
        Write the characters from an array.
        Overrides:
        write in class java.io.Writer
        Parameters:
        chr - the characters to write
        Throws:
        java.io.IOException - if an I/O error occurs.
      • write

        public void write​(char[] chr,
                          int st,
                          int end)
                   throws java.io.IOException
        Write the specified characters from an array.
        Specified by:
        write in class java.io.Writer
        Parameters:
        chr - the characters to write
        st - The start offset
        end - The number of characters to write
        Throws:
        java.io.IOException - if an I/O error occurs.
      • write

        public void write​(java.lang.String str)
                   throws java.io.IOException
        Write the characters from a string.
        Overrides:
        write in class java.io.Writer
        Parameters:
        str - the string to write
        Throws:
        java.io.IOException - if an I/O error occurs.
      • write

        public void write​(java.lang.String str,
                          int st,
                          int end)
                   throws java.io.IOException
        Write the specified characters from a string.
        Overrides:
        write in class java.io.Writer
        Parameters:
        str - the string to write
        st - The start offset
        end - The number of characters to write
        Throws:
        java.io.IOException - if an I/O error occurs.
      • flush

        public void flush()
                   throws java.io.IOException
        Flush the stream.
        Specified by:
        flush in interface java.io.Flushable
        Specified by:
        flush in class java.io.Writer
        Throws:
        java.io.IOException - if an I/O error occurs.
      • close

        public void close()
                   throws java.io.IOException
        Close the stream.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class java.io.Writer
        Throws:
        java.io.IOException - if an I/O error occurs.