| java.lang.Object java.io.Reader com.Ostermiller.util.ConcatReader
ConcatReader | public class ConcatReader extends Reader (Code) | | A reader which reads sequentially from multiple sources.
More information about this class is available from ostermiller.org.
author: Stephen Ostermiller http://ostermiller.org/contact.pl?regarding=Java+Utilities since: ostermillerutils 1.04.00 |
Method Summary | |
public void | addReader(Reader in) Add the given reader to the queue of readers from which to
concatenate data. | public void | addReaders(Reader[] in) Add the given reader to the queue of readers from which to
concatenate data. | public void | close() Close the stream and any underlying streams.
Once a stream has been closed, further read(), ready(), mark(), or reset()
invocations will throw an IOException. | public void | lastReaderAdded() Causes the addReader method to throw IllegalStateException
and read() methods to return -1 (end of stream)
when there is no more available data. | public void | mark(int readlimit) Mark not supported. | public boolean | markSupported() Mark not supported. | public int | read() Read a single character. | public int | read(char[] cbuf) Read characters into an array. | public int | read(char[] cbuf, int off, int len) Read characters into a portion of an array. | public boolean | ready() Tell whether this stream is ready to be read.
True if the next read() is guaranteed not to block for input,false otherwise. | public void | reset() Reset not supported. | public long | skip(long n) Skip characters. |
ConcatReader | public ConcatReader()(Code) | | Create a new reader that can dynamically accept new sources.
New sources should be added using the addReader() method.
When all sources have been added the lastReaderAdded() should
be called so that read methods can return -1 (end of stream).
Adding new sources may by interleaved with read calls.
since: ostermillerutils 1.04.01 |
ConcatReader | public ConcatReader(Reader in)(Code) | | Create a new reader with one source.
When using this constructor, more readers cannot
be added later, and calling addReader() will
throw an illegal state Exception.
Parameters: in - reader to use as a source. throws: NullPointerException - if in is null since: ostermillerutils 1.04.00 |
ConcatReader | public ConcatReader(Reader in1, Reader in2)(Code) | | Create a new reader with two sources.
When using this constructor, more readers cannot
be added later, and calling addReader() will
throw an illegal state Exception.
Parameters: in1 - first reader to use as a source. Parameters: in2 - second reader to use as a source. throws: NullPointerException - if either source is null. since: ostermillerutils 1.04.00 |
ConcatReader | public ConcatReader(Reader[] in)(Code) | | Create a new reader with an arbitrary number of sources.
When using this constructor, more readers cannot
be added later, and calling addReader() will
throw an illegal state Exception.
Parameters: in - readers to use as a sources. throws: NullPointerException - if the input array on any element is null. since: ostermillerutils 1.04.00 |
addReader | public void addReader(Reader in)(Code) | | Add the given reader to the queue of readers from which to
concatenate data.
Parameters: in - Reader to add to the concatenation. throws: IllegalStateException - if more readers can't be added because lastReaderAdded() has been called, close() has been called, or a constructor with reader parameters was used. since: ostermillerutils 1.04.01 |
addReaders | public void addReaders(Reader[] in)(Code) | | Add the given reader to the queue of readers from which to
concatenate data.
Parameters: in - Reader to add to the concatenation. throws: IllegalStateException - if more readers can't be added because lastReaderAdded() has been called, close() has been called, or a constructor with reader parameters was used. throws: NullPointerException - the array of readers, or any of the contents is null. since: ostermillerutils 1.04.01 |
close | public void close() throws IOException(Code) | | Close the stream and any underlying streams.
Once a stream has been closed, further read(), ready(), mark(), or reset()
invocations will throw an IOException. Closing a previously-closed stream,
however, has no effect.
throws: IOException - If an I/O error occurs since: ostermillerutils 1.04.00 |
lastReaderAdded | public void lastReaderAdded()(Code) | | Causes the addReader method to throw IllegalStateException
and read() methods to return -1 (end of stream)
when there is no more available data.
Calling this method when this class is no longer accepting
more readers has no effect.
since: ostermillerutils 1.04.01 |
mark | public void mark(int readlimit) throws IOException(Code) | | Mark not supported.
throws: IOException - because mark is not supported. since: ostermillerutils 1.04.00 |
markSupported | public boolean markSupported()(Code) | | Mark not supported.
false since: ostermillerutils 1.04.00 |
read | public int read() throws IOException(Code) | | Read a single character. This method will block until a
character is available, an I/O error occurs, or the end of all underlying
streams are reached.
If this class in not done accepting readers and the end of the last known
stream is reached, this method will block forever unless another thread
adds a reader or interrupts.
The character read, as an integer in the range 0 to 65535 (0x00-0xffff),or -1 if the end of the stream has been reached throws: IOException - - If an I/O error occurs since: ostermillerutils 1.04.00 |
read | public int read(char[] cbuf) throws IOException(Code) | | Read characters into an array. This method will block until some input is available, an
I/O error occurs, or the end of all underlying
streams are reached.
If this class in not done accepting readers and the end of the last known
stream is reached, this method will block forever unless another thread
adds a reader or interrupts.
Parameters: cbuf - - Destination buffer The number of characters read, or -1 if the end of the stream has been reached throws: IOException - - If an I/O error occurs throws: NullPointerException - - If the buffer is null. since: ostermillerutils 1.04.00 |
read | public int read(char[] cbuf, int off, int len) throws IOException(Code) | | Read characters into a portion of an array. This method will block until
some input is available, an I/O error occurs, or the end of all underlying
streams are reached.
If this class in not done accepting readers and the end of the last known
stream is reached, this method will block forever unless another thread
adds a reader or interrupts.
Parameters: cbuf - Destination buffer Parameters: off - Offset at which to start storing characters Parameters: len - Maximum number of characters to read The number of characters read, or -1 if the end of the stream has been reached throws: IOException - - If an I/O error occurs throws: NullPointerException - - If the buffer is null. throws: IndexOutOfBoundsException - - if length or offset are not possible. since: ostermillerutils 1.04.00 |
ready | public boolean ready() throws IOException(Code) | | Tell whether this stream is ready to be read.
True if the next read() is guaranteed not to block for input,false otherwise. Note that returning false does not guarantee that the nextread will block. throws: IOException - If an I/O error occurs since: ostermillerutils 1.04.00 |
reset | public void reset() throws IOException(Code) | | Reset not supported.
throws: IOException - because reset is not supported. since: ostermillerutils 1.04.00 |
skip | public long skip(long n) throws IOException(Code) | | Skip characters. This method will block until some characters are
available, an I/O error occurs, or the end of the stream is reached.
If this class in not done accepting readers and the end of the last known
stream is reached, this method will block forever unless another thread
adds a reader or interrupts.
Parameters: n - the number of characters to skip The number of characters actually skipped throws: IllegalArgumentException - If n is negative. throws: IOException - If an I/O error occurs since: ostermillerutils 1.04.00 |
|
|