|
J avolution v5.4 (J2SE 1.6+) | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.Writer
javolution.io.UTF8StreamWriter
public final class UTF8StreamWriter
This class represents a UTF-8 stream writer.
This writer supports surrogate char
pairs (representing
characters in the range [U+10000 .. U+10FFFF]). It can also be used
to write characters from their unicodes (31 bits) directly
(ref. write(int)
).
Instances of this class can be reused for different output streams
and can be part of a higher level component (e.g. serializer) in order
to avoid dynamic buffer allocation when the destination output changes.
Also wrapping using a java.io.BufferedWriter
is unnescessary
as instances of this class embed their own data buffers.
Note: This writer is unsynchronized and always produces well-formed UTF-8 sequences.
Field Summary |
---|
Fields inherited from class java.io.Writer |
---|
lock |
Constructor Summary | |
---|---|
UTF8StreamWriter()
Creates a UTF-8 writer having a byte buffer of moderate capacity (2048). |
|
UTF8StreamWriter(int capacity)
Creates a UTF-8 writer having a byte buffer of specified capacity. |
Method Summary | |
---|---|
void |
close()
Closes and resets this writer for reuse. |
void |
flush()
Flushes the stream. |
void |
reset()
Resets the internal state of this object to its default values. |
UTF8StreamWriter |
setOutput(java.io.OutputStream out)
Sets the output stream to use for writing until this writer is closed. |
UTF8StreamWriter |
setOutputStream(java.io.OutputStream out)
Deprecated. Replaced by setOutput(OutputStream) |
void |
write(char c)
Writes a single character. |
void |
write(char[] cbuf,
int off,
int len)
Writes a portion of an array of characters. |
void |
write(java.lang.CharSequence csq)
Writes the specified character sequence. |
void |
write(int code)
Writes a character given its 31-bits Unicode. |
void |
write(java.lang.String str,
int off,
int len)
Writes a portion of a string. |
Methods inherited from class java.io.Writer |
---|
append, append, append, write, write |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public UTF8StreamWriter()
public UTF8StreamWriter(int capacity)
capacity
- the capacity of the byte buffer.Method Detail |
---|
public UTF8StreamWriter setOutput(java.io.OutputStream out)
Writer writer = new UTF8StreamWriter().setOutputStream(out);
is equivalent but writes faster than
Writer writer = new java.io.OutputStreamWriter(out, "UTF-8");
out
- the output stream.
java.lang.IllegalStateException
- if this writer is being reused and
it has not been closed
or reset
.public void write(char c) throws java.io.IOException
c
- char
the character to be written (possibly
a surrogate).
java.io.IOException
- if an I/O error occurs.public void write(int code) throws java.io.IOException
write
in class java.io.Writer
code
- the 31 bits Unicode of the character to be written.
java.io.IOException
- if an I/O error occurs.public void write(char[] cbuf, int off, int len) throws java.io.IOException
write
in class java.io.Writer
cbuf
- the array 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(java.lang.String str, int off, int len) throws java.io.IOException
write
in class java.io.Writer
str
- a String.off
- the offset from which to start writing characters.len
- the number of characters to write.
java.io.IOException
- if an I/O error occurspublic void write(java.lang.CharSequence csq) throws java.io.IOException
csq
- the character sequence.
java.io.IOException
- if an I/O error occurspublic void flush() throws java.io.IOException
flush
in interface java.io.Flushable
flush
in class java.io.Writer
java.io.IOException
- if an I/O error occurs.public void close() throws java.io.IOException
resets
this writer for reuse.
close
in interface java.io.Closeable
close
in class java.io.Writer
java.io.IOException
- if an I/O error occurspublic void reset()
Reusable
reset
in interface Reusable
public UTF8StreamWriter setOutputStream(java.io.OutputStream out)
setOutput(OutputStream)
|
J avolution v5.4 (J2SE 1.6+) | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |