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 TypeMethodDescriptionvoid
close()
Close the stream.void
flush()
Flush the stream.private static Writer
initWriter
(File file, Object encoding, boolean append) Initialise 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 the characters from a string.void
Write 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:
write
in classWriter
- Parameters:
idx
- the character to write- Throws:
IOException
- if an I/O error occurs
-
write
Write the characters from an array.- Overrides:
write
in 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:
write
in 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:
write
in classWriter
- Parameters:
str
- the string to write- Throws:
IOException
- if an I/O error occurs
-
write
Write the specified characters from a string.- Overrides:
write
in 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:
flush
in interfaceFlushable
- Specified by:
flush
in classWriter
- Throws:
IOException
- if an I/O error occurs
-
close
Close the stream.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classWriter
- Throws:
IOException
- if an I/O error occurs
-