public final class UTF8Writer extends java.io.Writer implements CompletelyCloseable
XmlWriter.
The main reason for custom version is to allow for efficient
buffer recycling; the second benefit is that encoder has less
overhead for short content encoding (compared to JDK default
codecs).| Modifier and Type | Field and Description |
|---|---|
private static int |
DEFAULT_BUF_LEN |
(package private) boolean |
mAutoCloseOutput |
(package private) WriterConfig |
mConfig |
(package private) java.io.OutputStream |
mOut |
(package private) byte[] |
mOutBuffer |
(package private) int |
mOutBufferLast |
(package private) int |
mOutPtr |
(package private) int |
mSurrogate
When outputting chars from BMP, surrogate pairs need to be coalesced.
|
(package private) static int |
SURR1_FIRST |
(package private) static int |
SURR1_LAST |
(package private) static int |
SURR2_FIRST |
(package private) static int |
SURR2_LAST |
| Constructor and Description |
|---|
UTF8Writer(WriterConfig cfg,
java.io.OutputStream out,
boolean autoclose) |
| Modifier and Type | Method and Description |
|---|---|
private void |
_close(boolean forceClosing) |
private int |
_convertSurrogate(int secondPart)
Method called to calculate UTF codepoint, from a surrogate pair.
|
void |
close() |
void |
closeCompletely() |
void |
flush() |
private void |
throwIllegal(int code) |
void |
write(char[] cbuf) |
void |
write(char[] cbuf,
int off,
int len) |
void |
write(int c) |
void |
write(java.lang.String str) |
void |
write(java.lang.String str,
int off,
int len) |
private static final int DEFAULT_BUF_LEN
static final int SURR1_FIRST
static final int SURR1_LAST
static final int SURR2_FIRST
static final int SURR2_LAST
final WriterConfig mConfig
final boolean mAutoCloseOutput
final java.io.OutputStream mOut
byte[] mOutBuffer
final int mOutBufferLast
int mOutPtr
int mSurrogate
public UTF8Writer(WriterConfig cfg, java.io.OutputStream out, boolean autoclose)
public void closeCompletely()
throws java.io.IOException
closeCompletely in interface CompletelyCloseablejava.io.IOExceptionpublic void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.Writerjava.io.IOExceptionpublic void flush()
throws java.io.IOException
flush in interface java.io.Flushableflush in class java.io.Writerjava.io.IOExceptionpublic void write(char[] cbuf)
throws java.io.IOException
write in class java.io.Writerjava.io.IOExceptionpublic void write(char[] cbuf,
int off,
int len)
throws java.io.IOException
write in class java.io.Writerjava.io.IOExceptionpublic void write(int c)
throws java.io.IOException
write in class java.io.Writerjava.io.IOExceptionpublic void write(java.lang.String str)
throws java.io.IOException
write in class java.io.Writerjava.io.IOExceptionpublic void write(java.lang.String str,
int off,
int len)
throws java.io.IOException
write in class java.io.Writerjava.io.IOExceptionprivate final void _close(boolean forceClosing)
throws java.io.IOException
java.io.IOExceptionprivate final int _convertSurrogate(int secondPart)
throws java.io.IOException
java.io.IOExceptionprivate void throwIllegal(int code)
throws java.io.IOException
java.io.IOException