Package 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
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 -
Constructor Summary
ConstructorsConstructorDescriptionFileWriterWithEncoding(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(File file, Charset charset) 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, Charset encoding, 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.FileWriterWithEncoding(String fileName, Charset charset) 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, Charset charset, boolean append) Constructs a FileWriterWithEncoding with a file encoding. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close the stream.voidflush()Flush the stream.private static WriterinitWriter(File file, Object encoding, boolean append) Initialise the wrapped file writer.voidwrite(char[] chr) Write the characters from an array.voidwrite(char[] chr, int st, int end) Write the specified characters from an array.voidwrite(int idx) Write a character.voidWrite the characters from a string.voidWrite the specified characters from a string.Methods inherited from class java.io.Writer
append, append, append, nullWriter
-
Field Details
-
out
The writer to decorate.
-
-
Constructor Details
-
FileWriterWithEncoding
Constructs a FileWriterWithEncoding with a file encoding.- Parameters:
fileName- the name of the file to write to, not nullcharsetName- the name of the requested charset, not null- Throws:
NullPointerException- if the file name or encoding is nullIOException- 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 nullcharsetName- the name of the requested charset, not nullappend- true if content should be appended, false to overwrite- Throws:
NullPointerException- if the file name or encoding is nullIOException- in case of an I/O error
-
FileWriterWithEncoding
Constructs a FileWriterWithEncoding with a file encoding.- Parameters:
fileName- the name of the file to write to, not nullcharset- the charset to use, not null- Throws:
NullPointerException- if the file name or encoding is nullIOException- in case of an I/O error
-
FileWriterWithEncoding
Constructs a FileWriterWithEncoding with a file encoding.- Parameters:
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 overwrite- Throws:
NullPointerException- if the file name or encoding is nullIOException- in case of an I/O error
-
FileWriterWithEncoding
Constructs a FileWriterWithEncoding with a file encoding.- Parameters:
fileName- the name of the file to write to, not nullencoding- the encoding to use, not null- Throws:
NullPointerException- if the file name or encoding is nullIOException- 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 nullcharsetEncoder- the encoding to use, not nullappend- true if content should be appended, false to overwrite- Throws:
NullPointerException- if the file name or encoding is nullIOException- in case of an I/O error
-
FileWriterWithEncoding
Constructs a FileWriterWithEncoding with a file encoding.- Parameters:
file- the file to write to, not nullcharsetName- the name of the requested charset, not null- Throws:
NullPointerException- if the file or encoding is nullIOException- in case of an I/O error
-
FileWriterWithEncoding
Constructs a FileWriterWithEncoding with a file encoding.- Parameters:
file- the file to write to, not nullcharsetName- the name of the requested charset, not nullappend- true if content should be appended, false to overwrite- Throws:
NullPointerException- if the file or encoding is nullIOException- in case of an I/O error
-
FileWriterWithEncoding
Constructs a FileWriterWithEncoding with a file encoding.- Parameters:
file- the file to write to, not nullcharset- the encoding to use, not null- Throws:
NullPointerException- if the file or encoding is nullIOException- in case of an I/O error
-
FileWriterWithEncoding
Constructs a FileWriterWithEncoding with a file encoding.- Parameters:
file- the file to write to, not nullencoding- the name of the requested charset, not nullappend- true if content should be appended, false to overwrite- Throws:
NullPointerException- if the file or encoding is nullIOException- in case of an I/O error
-
FileWriterWithEncoding
Constructs a FileWriterWithEncoding with a file encoding.- Parameters:
file- the file to write to, not nullcharsetEncoder- the encoding to use, not null- Throws:
NullPointerException- if the file or encoding is nullIOException- 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 nullcharsetEncoder- the encoding to use, not nullappend- true if content should be appended, false to overwrite- Throws:
NullPointerException- if the file or encoding is nullIOException- in case of an I/O error
-
-
Method Details
-
initWriter
Initialise the wrapped file writer. Ensure that a cleanup occurs if the writer creation fails.- Parameters:
file- the file to be accessedencoding- the encoding to use - may be Charset, CharsetEncoder or Stringappend- true to append- Returns:
- the initialized writer
- Throws:
NullPointerException- if the file or encoding is nullIOException- if an error occurs
-
write
Write a character.- Overrides:
writein classWriter- Parameters:
idx- the character to write- Throws:
IOException- if an I/O error occurs
-
write
Write the characters from an array.- Overrides:
writein classWriter- Parameters:
chr- the characters to write- Throws:
IOException- if an I/O error occurs
-
write
Write the specified characters from an array.- Specified by:
writein classWriter- Parameters:
chr- the characters to writest- The start offsetend- The number of characters to write- Throws:
IOException- if an I/O error occurs
-
write
Write the characters from a string.- Overrides:
writein classWriter- Parameters:
str- the string to write- Throws:
IOException- if an I/O error occurs
-
write
Write the specified characters from a string.- Overrides:
writein classWriter- Parameters:
str- the string to writest- The start offsetend- The number of characters to write- Throws:
IOException- if an I/O error occurs
-
flush
Flush the stream.- Specified by:
flushin interfaceFlushable- Specified by:
flushin classWriter- Throws:
IOException- if an I/O error occurs
-
close
Close the stream.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classWriter- Throws:
IOException- if an I/O error occurs
-