java.lang.Object
java.io.Writer
com.aoapps.io.buffer.BufferWriter
com.aoapps.io.buffer.SegmentedWriter
- All Implemented Interfaces:
Closeable
,Flushable
,Appendable
,AutoCloseable
Buffers all writes in segments. This is to hold references to strings instead
of copying all the characters.
This class is not thread safe.
Future: If writing to another segmented buffer, the segments could be shared between the two instances. (or arraycopy instead of writing each)
- Author:
- AO Industries, Inc.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionappend
(char c) append
(CharSequence csq) append
(CharSequence csq, int start, int end) void
close()
void
flush()
long
Gets the number of characters in this buffer.Gets the result from this buffer.toString()
Gets a short message (like type and length).void
write
(char[] cbuf) void
write
(char[] cbuf, int off, int len) void
write
(int c) void
void
Methods inherited from class java.io.Writer
nullWriter
-
Constructor Details
-
SegmentedWriter
public SegmentedWriter()
-
-
Method Details
-
write
- Overrides:
write
in classWriter
- Throws:
ClosedChannelException
-
write
- Overrides:
write
in classWriter
- Throws:
ClosedChannelException
-
write
- Specified by:
write
in classWriter
- Throws:
ClosedChannelException
-
write
- Overrides:
write
in classWriter
- Throws:
ClosedChannelException
-
write
- Overrides:
write
in classWriter
- Throws:
ClosedChannelException
-
append
- Specified by:
append
in interfaceAppendable
- Overrides:
append
in classWriter
- Throws:
ClosedChannelException
-
append
- Specified by:
append
in interfaceAppendable
- Overrides:
append
in classWriter
- Throws:
ClosedChannelException
-
append
- Specified by:
append
in interfaceAppendable
- Overrides:
append
in classWriter
- Throws:
ClosedChannelException
-
flush
public void flush() -
close
public void close() -
getLength
public long getLength()Description copied from class:BufferWriter
Gets the number of characters in this buffer. Once closed, this length will not be modified.- Specified by:
getLength
in classBufferWriter
-
toString
Description copied from class:BufferWriter
Gets a short message (like type and length).- Specified by:
toString
in classBufferWriter
- See Also:
-
getResult
Description copied from class:BufferWriter
Gets the result from this buffer. The buffer must be closed.Note: Although the
BufferWriter
are generally not thread-safe, theBufferResult
is thread-safe. It is expected to commonly create a buffer on one thread, but the be able to safely share the result among many threads.- Specified by:
getResult
in classBufferWriter
- Throws:
IllegalStateException
- if not closed
-