## org.jfree.report.util
Class MemoryStringWriter

    java.lang.Object
      java.io.Writer
          org.jfree.report.util.MemoryStringWriter

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

    public class MemoryStringWriter

extends java.io.Writer

A string writer that is able to write large amounts of data. The original StringWriter contained in Java doubles its buffersize everytime the buffer overflows. This is nice with small amounts of data, but awfull for huge buffers.

Author:
  Thomas Morgner

Field Summary

Fields inherited from class java.io.Writer
`lock`

Constructor Summary
`MemoryStringWriter()` Create a new character-stream writer whose critical sections will synchronize on the writer itself.
`MemoryStringWriter(int bufferSize)` Create a new character-stream writer whose critical sections will synchronize on the writer itself.

Method Summary
`void` `close()` Close the stream, flushing it first.
`void` `flush()` Flush the stream.
`java.lang.String` `toString()`
`void` `write(char[] cbuf, int off, int len)` Write a portion of an array of characters.

Methods inherited from class java.io.Writer
`append, append, append, write, write, write, write`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### MemoryStringWriter

    public MemoryStringWriter()

  Create a new character-stream writer whose critical sections will synchronize on the writer itself.

### MemoryStringWriter

    public MemoryStringWriter(int bufferSize)

  Create a new character-stream writer whose critical sections will synchronize on the writer itself.

Method Detail

### write

    public void write(char[] cbuf,
                      int off,
                      int len)
               throws java.io.IOException

  Write a portion of an array of characters.

  Specified by:
    `write` in class `java.io.Writer`
  Parameters:
    `cbuf` - Array of characters
    `off` - Offset from which to start writing characters
    `len` - Number of characters to write
  Throws:
    `java.io.IOException` - If an I/O error occurs

### flush

    public void flush()
               throws java.io.IOException

  Flush 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.

  If the intended destination of this stream is an abstraction provided by the underlying operating system, for example a file, then flushing the stream guarantees only that bytes previously written to the stream are passed to the operating system for writing; it does not guarantee that they are actually written to a physical device such as a disk drive.

  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

  Close the stream, flushing it first. Once a stream has been closed, further write() or flush() invocations will cause an IOException to be thrown. Closing a previously-closed stream, however, has no effect.

  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

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`