Overview | Package | Class | Tree | Deprecated | Index | Help
| J avolution v5.2 (J2SE 1.5+)
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javolution.io
Class UTF8StreamWriter

    java.lang.Object
      java.io.Writer
          javolution.io.UTF8StreamWriter

All Implemented Interfaces:
  java.io.Closeable, java.io.Flushable, java.lang.Appendable, Reusable

    public final class UTF8StreamWriter

extends java.io.Writer
implements Reusable

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.

Version:
  2.0, December 9, 2004
Author:
  Jean-Marie Dautelle

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

### 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 Detail

### setOutput

    public UTF8StreamWriter setOutput(java.io.OutputStream out)

  Sets the output stream to use for writing until this writer is closed. For example:`

           Writer writer = new UTF8StreamWriter().setOutputStream(out);

  ` is equivalent but writes faster than `

           Writer writer = new java.io.OutputStreamWriter(out, "UTF-8");

  `

  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.io.Closeable`
  Specified by:
    `close` in class `java.io.Writer`
  Throws:
    `java.io.IOException` - if an I/O error occurs

### reset

    public void reset()

  Description copied from interface: `Reusable`
  Resets the internal state of this object to its default values.

  Specified by:
    `reset` in interface `Reusable`

### setOutputStream

    public UTF8StreamWriter setOutputStream(java.io.OutputStream out)

  Deprecated. Replaced by `setOutput(OutputStream)`

Overview | Package | Class | Tree | Deprecated | Index | Help
| J avolution v5.2 (J2SE 1.5+)
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005 - 2007 Javolution.