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 and resets 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

      public UTF8StreamWriter setOutput​(java.io.OutputStream out)
      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]
      Parameters:
      out - the output stream.
      Returns:
      this UTF-8 writer.
      Throws:
      java.lang.IllegalStateException - if this writer is being reused and it has not been closed or reset.
    • write

      public void write​(char c) throws java.io.IOException
      Writes 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.IOException
      Writes a character given its 31-bits Unicode.
      Overrides:
      write in class java.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.IOException
      Writes a portion of an array of characters.
      Specified by:
      write in class java.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.IOException
      Writes a portion of a string.
      Overrides:
      write in class java.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.IOException
      Writes 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.IOException
      Flushes 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 interface java.io.Flushable
      Specified by:
      flush in class java.io.Writer
      Throws:
      java.io.IOException - if an I/O error occurs.
    • close

      public void close() throws java.io.IOException
      Closes and resets this writer for reuse.
      Specified by:
      close in interface java.lang.AutoCloseable
      Specified by:
      close in interface java.io.Closeable
      Specified by:
      close in class java.io.Writer
      Throws:
      java.io.IOException - if an I/O error occurs
    • reset

      public void reset()