Package org.jfree.report.util
Class MemoryStringWriter
java.lang.Object
java.io.Writer
org.jfree.report.util.MemoryStringWriter
- All Implemented Interfaces:
Closeable
,Flushable
,Appendable
,AutoCloseable
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
-
Constructor Summary
ConstructorsConstructorDescriptionCreate 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
-
Constructor Details
-
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 Details
-
write
Write a portion of an array of characters.- Specified by:
write
in classWriter
- Parameters:
cbuf
- Array of charactersoff
- Offset from which to start writing characterslen
- Number of characters to write- Throws:
IOException
- If an I/O error occurs
-
flush
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 interfaceFlushable
- Specified by:
flush
in classWriter
- Throws:
IOException
- If an I/O error occurs
-
close
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 interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classWriter
- Throws:
IOException
- If an I/O error occurs
-
toString
-