Package org.elasticsearch.common.io
Class UTF8StreamWriter
java.lang.Object
java.io.Writer
org.elasticsearch.common.io.UTF8StreamWriter
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.Appendable
,java.lang.AutoCloseable
public final class UTF8StreamWriter
extends java.io.Writer
-
Field Summary
Fields inherited from class java.io.Writer
lock
-
Constructor Summary
Constructors Constructor Description 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
Modifier and Type Method Description void
close()
Closes andresets
this writer for reuse.void
flush()
Flushes the stream.void
reset()
UTF8StreamWriter
setOutput(java.io.OutputStream out)
Sets the output stream to use for writing until this writer is closed.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(int code)
Writes a character given its 31-bits Unicode.void
write(java.lang.CharSequence csq)
Writes the specified character sequence.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, nullWriter, write, write
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
UTF8StreamWriter
public UTF8StreamWriter()Creates a UTF-8 writer having a byte buffer of moderate capacity (2048). -
UTF8StreamWriter
public UTF8StreamWriter(int capacity)Creates a UTF-8 writer having a byte buffer of specified capacity.- Parameters:
capacity
- the capacity of the byte buffer.
-
-
Method Details
-
setOutput
Sets the output stream to use for writing until this writer is closed. For example:[code] Writer writer = new UTF8StreamWriter().setOutputStream(out); [/code] is equivalent but writes faster than [code] Writer writer = new java.io.OutputStreamWriter(out, "UTF-8"); [/code] -
write
public void write(char c) throws java.io.IOExceptionWrites a single character. This method supports 16-bits character surrogates.- Parameters:
c
-char
the character to be written (possibly a surrogate).- Throws:
java.io.IOException
- if an I/O error occurs.
-
write
public void write(int code) throws java.io.IOExceptionWrites a character given its 31-bits Unicode.- Overrides:
write
in classjava.io.Writer
- Parameters:
code
- the 31 bits Unicode of the character to be written.- Throws:
java.io.IOException
- if an I/O error occurs.
-
write
public void write(char[] cbuf, int off, int len) throws java.io.IOExceptionWrites a portion of an array of characters.- Specified by:
write
in classjava.io.Writer
- Parameters:
cbuf
- the array of characters.off
- the offset from which to start writing characters.len
- the number of characters to write.- Throws:
java.io.IOException
- if an I/O error occurs.
-
write
public void write(java.lang.String str, int off, int len) throws java.io.IOExceptionWrites a portion of a string.- Overrides:
write
in classjava.io.Writer
- Parameters:
str
- a String.off
- the offset from which to start writing characters.len
- the number of characters to write.- Throws:
java.io.IOException
- if an I/O error occurs
-
write
public void write(java.lang.CharSequence csq) throws java.io.IOExceptionWrites the specified character sequence.- Parameters:
csq
- the character sequence.- Throws:
java.io.IOException
- if an I/O error occurs
-
flush
public void flush() throws java.io.IOExceptionFlushes the stream. If the stream has saved any characters from the various write() methods in a buffer, write them immediately to their intended destination. Then, if that destination is another character or byte stream, flush it. Thus one flush() invocation will flush all the buffers in a chain of Writers and OutputStreams.- Specified by:
flush
in interfacejava.io.Flushable
- Specified by:
flush
in classjava.io.Writer
- Throws:
java.io.IOException
- if an I/O error occurs.
-
close
public void close() throws java.io.IOExceptionCloses andresets
this writer for reuse.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in classjava.io.Writer
- Throws:
java.io.IOException
- if an I/O error occurs
-
reset
public void reset()
-