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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionappend(char c) append(CharSequence csq) append(CharSequence csq, int start, int end) voidclose()voidflush()longGets the number of characters in this buffer.Gets the result from this buffer.toString()Gets a short message (like type and length).voidwrite(char[] cbuf) voidwrite(char[] cbuf, int off, int len) voidwrite(int c) voidvoidMethods inherited from class java.io.Writer
nullWriter
-
Constructor Details
-
SegmentedWriter
public SegmentedWriter()
-
-
Method Details
-
write
- Overrides:
writein classWriter- Throws:
ClosedChannelException
-
write
- Overrides:
writein classWriter- Throws:
ClosedChannelException
-
write
- Specified by:
writein classWriter- Throws:
ClosedChannelException
-
write
- Overrides:
writein classWriter- Throws:
ClosedChannelException
-
write
- Overrides:
writein classWriter- Throws:
ClosedChannelException
-
append
- Specified by:
appendin interfaceAppendable- Overrides:
appendin classWriter- Throws:
ClosedChannelException
-
append
- Specified by:
appendin interfaceAppendable- Overrides:
appendin classWriter- Throws:
ClosedChannelException
-
append
- Specified by:
appendin interfaceAppendable- Overrides:
appendin classWriter- Throws:
ClosedChannelException
-
flush
public void flush() -
close
public void close() -
getLength
public long getLength()Description copied from class:BufferWriterGets the number of characters in this buffer. Once closed, this length will not be modified.- Specified by:
getLengthin classBufferWriter
-
toString
Description copied from class:BufferWriterGets a short message (like type and length).- Specified by:
toStringin classBufferWriter- See Also:
-
getResult
Description copied from class:BufferWriterGets the result from this buffer. The buffer must be closed.Note: Although the
BufferWriterare generally not thread-safe, theBufferResultis 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:
getResultin classBufferWriter- Throws:
IllegalStateException- if not closed
-
