public class FileWriterWithEncoding
extends java.io.Writer
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.
| Modifier and Type | Field and Description |
|---|---|
private java.io.Writer |
out
The writer to decorate.
|
| Constructor and Description |
|---|
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.Charset encoding,
boolean append)
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.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.lang.String fileName,
java.nio.charset.Charset charset)
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.
|
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.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.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Close the stream.
|
void |
flush()
Flush the stream.
|
private static java.io.Writer |
initWriter(java.io.File file,
java.lang.Object encoding,
boolean append)
Initialize the wrapped file writer.
|
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.
|
public FileWriterWithEncoding(java.lang.String fileName,
java.lang.String charsetName)
throws java.io.IOException
fileName - the name of the file to write to, not nullcharsetName - the name of the requested charset, not nulljava.lang.NullPointerException - if the file name or encoding is nulljava.io.IOException - in case of an I/O errorpublic FileWriterWithEncoding(java.lang.String fileName,
java.lang.String charsetName,
boolean append)
throws java.io.IOException
fileName - the name of the file to write to, not nullcharsetName - the name of the requested charset, not nullappend - true if content should be appended, false to overwritejava.lang.NullPointerException - if the file name or encoding is nulljava.io.IOException - in case of an I/O errorpublic FileWriterWithEncoding(java.lang.String fileName,
java.nio.charset.Charset charset)
throws java.io.IOException
fileName - the name of the file to write to, not nullcharset - the charset to use, not nulljava.lang.NullPointerException - if the file name or encoding is nulljava.io.IOException - in case of an I/O errorpublic FileWriterWithEncoding(java.lang.String fileName,
java.nio.charset.Charset charset,
boolean append)
throws java.io.IOException
fileName - the name of the file to write to, not nullcharset - the encoding to use, not nullappend - true if content should be appended, false to overwritejava.lang.NullPointerException - if the file name or encoding is nulljava.io.IOException - in case of an I/O errorpublic FileWriterWithEncoding(java.lang.String fileName,
java.nio.charset.CharsetEncoder encoding)
throws java.io.IOException
fileName - the name of the file to write to, not nullencoding - the encoding to use, not nulljava.lang.NullPointerException - if the file name or encoding is nulljava.io.IOException - in case of an I/O errorpublic FileWriterWithEncoding(java.lang.String fileName,
java.nio.charset.CharsetEncoder charsetEncoder,
boolean append)
throws java.io.IOException
fileName - the name of the file to write to, not nullcharsetEncoder - the encoding to use, not nullappend - true if content should be appended, false to overwritejava.lang.NullPointerException - if the file name or encoding is nulljava.io.IOException - in case of an I/O errorpublic FileWriterWithEncoding(java.io.File file,
java.lang.String charsetName)
throws java.io.IOException
file - the file to write to, not nullcharsetName - the name of the requested charset, not nulljava.lang.NullPointerException - if the file or encoding is nulljava.io.IOException - in case of an I/O errorpublic FileWriterWithEncoding(java.io.File file,
java.lang.String charsetName,
boolean append)
throws java.io.IOException
file - the file to write to, not nullcharsetName - the name of the requested charset, not nullappend - true if content should be appended, false to overwritejava.lang.NullPointerException - if the file or encoding is nulljava.io.IOException - in case of an I/O errorpublic FileWriterWithEncoding(java.io.File file,
java.nio.charset.Charset charset)
throws java.io.IOException
file - the file to write to, not nullcharset - the encoding to use, not nulljava.lang.NullPointerException - if the file or encoding is nulljava.io.IOException - in case of an I/O errorpublic FileWriterWithEncoding(java.io.File file,
java.nio.charset.Charset encoding,
boolean append)
throws java.io.IOException
file - the file to write to, not nullencoding - the name of the requested charset, not nullappend - true if content should be appended, false to overwritejava.lang.NullPointerException - if the file or encoding is nulljava.io.IOException - in case of an I/O errorpublic FileWriterWithEncoding(java.io.File file,
java.nio.charset.CharsetEncoder charsetEncoder)
throws java.io.IOException
file - the file to write to, not nullcharsetEncoder - the encoding to use, not nulljava.lang.NullPointerException - if the file or encoding is nulljava.io.IOException - in case of an I/O errorpublic FileWriterWithEncoding(java.io.File file,
java.nio.charset.CharsetEncoder charsetEncoder,
boolean append)
throws java.io.IOException
file - the file to write to, not nullcharsetEncoder - the encoding to use, not nullappend - true if content should be appended, false to overwritejava.lang.NullPointerException - if the file or encoding is nulljava.io.IOException - in case of an I/O errorprivate static java.io.Writer initWriter(java.io.File file,
java.lang.Object encoding,
boolean append)
throws java.io.IOException
file - the file to be accessedencoding - the encoding to use - may be Charset, CharsetEncoder or Stringappend - true to appendjava.lang.NullPointerException - if the file or encoding is nulljava.io.IOException - if an error occurspublic void write(int idx)
throws java.io.IOException
write in class java.io.Writeridx - the character to writejava.io.IOException - if an I/O error occurs.public void write(char[] chr)
throws java.io.IOException
write in class java.io.Writerchr - the characters to writejava.io.IOException - if an I/O error occurs.public void write(char[] chr,
int st,
int end)
throws java.io.IOException
write in class java.io.Writerchr - the characters to writest - The start offsetend - The number of characters to writejava.io.IOException - if an I/O error occurs.public void write(java.lang.String str)
throws java.io.IOException
write in class java.io.Writerstr - the string to writejava.io.IOException - if an I/O error occurs.public void write(java.lang.String str,
int st,
int end)
throws java.io.IOException
write in class java.io.Writerstr - the string to writest - The start offsetend - The number of characters to writejava.io.IOException - if an I/O error occurs.public void flush()
throws java.io.IOException
flush in interface java.io.Flushableflush in class java.io.Writerjava.io.IOException - if an I/O error occurs.public void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.Writerjava.io.IOException - if an I/O error occurs.