org.apache.commons.io.output

Class FileWriterWithEncoding


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 java.io.FileWriter directly, rather than this implementation.

Version:
$Id: FileWriterWithEncoding.java 611634 2008-01-13 20:35:00Z niallp $
Since:
Commons IO 1.4

Field Summary

private Writer
out
The writer to decorate.

Constructor Summary

FileWriterWithEncoding(File file, Charset encoding)
Constructs a FileWriterWithEncoding with a file encoding.
FileWriterWithEncoding(File file, Charset encoding, boolean append)
Constructs a FileWriterWithEncoding with a file encoding.
FileWriterWithEncoding(File file, CharsetEncoder encoding)
Constructs a FileWriterWithEncoding with a file encoding.
FileWriterWithEncoding(File file, CharsetEncoder encoding, boolean append)
Constructs a FileWriterWithEncoding with a file encoding.
FileWriterWithEncoding(File file, String encoding)
Constructs a FileWriterWithEncoding with a file encoding.
FileWriterWithEncoding(File file, String encoding, boolean append)
Constructs a FileWriterWithEncoding with a file encoding.
FileWriterWithEncoding(String filename, Charset encoding)
Constructs a FileWriterWithEncoding with a file encoding.
FileWriterWithEncoding(String filename, Charset encoding, boolean append)
Constructs a FileWriterWithEncoding with a file encoding.
FileWriterWithEncoding(String filename, CharsetEncoder encoding)
Constructs a FileWriterWithEncoding with a file encoding.
FileWriterWithEncoding(String filename, CharsetEncoder encoding, boolean append)
Constructs a FileWriterWithEncoding with a file encoding.
FileWriterWithEncoding(String filename, String encoding)
Constructs a FileWriterWithEncoding with a file encoding.
FileWriterWithEncoding(String filename, String encoding, boolean append)
Constructs a FileWriterWithEncoding with a file encoding.

Method Summary

void
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(String str)
Write the characters from a string.
void
write(String str, int st, int end)
Write the specified characters from a string.
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.

Field Details

out

private final Writer out
The writer to decorate.

Constructor Details

FileWriterWithEncoding

public FileWriterWithEncoding(File file,
                              Charset encoding)
            throws IOException
Constructs a FileWriterWithEncoding with a file encoding.
Parameters:
file - the file to write to, not null
encoding - the encoding to use, not null

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 encoding to use, not null
append - true if content should be appended, false to overwrite

FileWriterWithEncoding

public FileWriterWithEncoding(File file,
                              CharsetEncoder encoding)
            throws IOException
Constructs a FileWriterWithEncoding with a file encoding.
Parameters:
file - the file to write to, not null
encoding - the encoding to use, not null

FileWriterWithEncoding

public FileWriterWithEncoding(File file,
                              CharsetEncoder encoding,
                              boolean append)
            throws IOException
Constructs a FileWriterWithEncoding with a file encoding.
Parameters:
file - the file to write to, not null
encoding - the encoding to use, not null
append - true if content should be appended, false to overwrite

FileWriterWithEncoding

public FileWriterWithEncoding(File file,
                              String encoding)
            throws IOException
Constructs a FileWriterWithEncoding with a file encoding.
Parameters:
file - the file to write to, not null
encoding - the encoding to use, not null

FileWriterWithEncoding

public FileWriterWithEncoding(File file,
                              String encoding,
                              boolean append)
            throws IOException
Constructs a FileWriterWithEncoding with a file encoding.
Parameters:
file - the file to write to, not null
encoding - the encoding to use, not null
append - true if content should be appended, false to overwrite

FileWriterWithEncoding

public FileWriterWithEncoding(String filename,
                              Charset 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

FileWriterWithEncoding

public FileWriterWithEncoding(String filename,
                              Charset encoding,
                              boolean append)
            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
append - true if content should be appended, false to overwrite

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

FileWriterWithEncoding

public FileWriterWithEncoding(String filename,
                              CharsetEncoder encoding,
                              boolean append)
            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
append - true if content should be appended, false to overwrite

FileWriterWithEncoding

public FileWriterWithEncoding(String filename,
                              String 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

FileWriterWithEncoding

public FileWriterWithEncoding(String filename,
                              String encoding,
                              boolean append)
            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
append - true if content should be appended, false to overwrite

Method Details

close

public void close()
            throws IOException
Close the stream.

flush

public void flush()
            throws IOException
Flush the stream.

initWriter

private static Writer initWriter(File file,
                                 Object encoding,
                                 boolean append)
            throws IOException
Initialise the wrapped file writer. Ensure that a cleanup occurs if the writer creation fails.
Parameters:
file - the file to be accessed
encoding - the encoding to use - may be Charset, CharsetEncoder or String
append - true to append
Returns:
the initialised writer

write

public void write(String str)
            throws IOException
Write the characters from a string.
Parameters:
str - the string to write

write

public void write(String str,
                  int st,
                  int end)
            throws IOException
Write the specified characters from a string.
Parameters:
str - the string to write
st - The start offset
end - The number of characters to write

write

public void write(char[] chr)
            throws IOException
Write the characters from an array.
Parameters:
chr - the characters to write

write

public void write(char[] chr,
                  int st,
                  int end)
            throws IOException
Write the specified characters from an array.
Parameters:
chr - the characters to write
st - The start offset
end - The number of characters to write

write

public void write(int idx)
            throws IOException
Write a character.
Parameters:
idx - the character to write

Copyright (c) 2002-2009 Apache Software Foundation