public class UnicodeWriter
extends java.io.Writer
OutputStreamWriter. This class is here because Java's
OutputStreamWriter apparently doesn't believe in writing
BOMs.
For optimum performance, it is recommended that you wrap all instances of
UnicodeWriter with a java.io.BufferedWriter.
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
PROPERTY_WRITE_UTF8_BOM
If this system property evaluates to "
true", ignoring
case, files written out as UTF-8 will have a BOM written for them. |
| Constructor and Description |
|---|
UnicodeWriter(java.io.File file,
java.nio.charset.Charset charset)
This is a utility constructor since the vast majority of the time, this
class will be used to write Unicode files.
|
UnicodeWriter(java.io.File file,
java.lang.String encoding)
This is a utility constructor since the vast majority of the time, this
class will be used to write Unicode files.
|
UnicodeWriter(java.io.OutputStream out,
java.nio.charset.Charset charset)
Creates a new writer.
|
UnicodeWriter(java.io.OutputStream out,
java.lang.String encoding)
Creates a new writer.
|
UnicodeWriter(java.lang.String fileName,
java.nio.charset.Charset charset)
This is a utility constructor since the vast majority of the time, this
class will be used to write Unicode files.
|
UnicodeWriter(java.lang.String fileName,
java.lang.String encoding)
This is a utility constructor since the vast majority of the time, this
class will be used to write Unicode files.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes this writer.
|
void |
flush()
Flushes the stream.
|
java.lang.String |
getEncoding()
Returns the encoding being used to write this output stream (i.e., the
encoding of the file).
|
static boolean |
getWriteUtf8BOM()
Returns whether UTF-8 files should have a BOM in them when written.
|
static void |
setWriteUtf8BOM(boolean write)
Sets whether UTF-8 files should have a BOM written in them.
|
void |
write(char[] cbuf,
int off,
int len)
Writes a portion of an array of characters.
|
void |
write(int c)
Writes a single character.
|
void |
write(java.lang.String str,
int off,
int len)
Writes a portion of a string.
|
public static final java.lang.String PROPERTY_WRITE_UTF8_BOM
true", ignoring
case, files written out as UTF-8 will have a BOM written for them.
Otherwise, (even if the property is not set), UTF-8 files will not
have a BOM written (which is typical, older builds of Windows Notepad
are the outlier here).public UnicodeWriter(java.lang.String fileName,
java.nio.charset.Charset charset)
throws java.io.IOException
fileName - The file to which to write.charset - The character set to use.java.io.IOException - If an IO exception occurs.StandardCharsetspublic UnicodeWriter(java.lang.String fileName,
java.lang.String encoding)
throws java.io.IOException
fileName - The file to which to write.encoding - The encoding to use.java.io.IOException - If an IO exception occurs.public UnicodeWriter(java.io.File file,
java.nio.charset.Charset charset)
throws java.io.IOException
file - The file to which to write.charset - The character set to use.java.io.IOException - If an IO exception occurs.StandardCharsetspublic UnicodeWriter(java.io.File file,
java.lang.String encoding)
throws java.io.IOException
file - The file to which to write.encoding - The encoding to use.java.io.IOException - If an IO exception occurs.public UnicodeWriter(java.io.OutputStream out,
java.nio.charset.Charset charset)
throws java.io.IOException
out - The output stream to write.charset - The character set to use.java.io.IOException - If an IO exception occurs.public UnicodeWriter(java.io.OutputStream out,
java.lang.String encoding)
throws java.io.IOException
out - The output stream to write.encoding - The encoding to use.java.io.IOException - If an IO exception 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 IO exception occurs.public void flush()
throws java.io.IOException
flush in interface java.io.Flushableflush in class java.io.Writerjava.io.IOException - If an IO exception occurs.public java.lang.String getEncoding()
public static boolean getWriteUtf8BOM()
setWriteUtf8BOM(boolean),
UnicodeWriterpublic static void setWriteUtf8BOM(boolean write)
write - Whether to write a BOM.getWriteUtf8BOM(),
UnicodeWriterpublic void write(char[] cbuf,
int off,
int len)
throws java.io.IOException
write in class java.io.Writercbuf - The buffer of characters.off - The offset from which to start writing characters.len - The number of characters to write.java.io.IOException - If an I/O error occurs.public void write(int c)
throws java.io.IOException
write in class java.io.Writerc - An integer specifying the character to write.java.io.IOException - If an IO error occurs.public void write(java.lang.String str,
int off,
int len)
throws java.io.IOException
write in class java.io.Writerstr - The string from which to write.off - The offset from which to start writing characters.len - The number of characters to write.java.io.IOException - If an IO error occurs.