Top Description Fields Constructors Methods
com.google.common.io

pack-priv Class MultiReader

extends Reader
Class Inheritance
Annotations
@J2ktIncompatible
@GwtIncompatible
@ElementTypesAreNonnullByDefault
Static Imports
com.google.common.base.Preconditions.checkNotNull

A Reader that concatenates multiple readers.
Author
Bin Zhu
Since
1.0

Field Summary

Modifier and TypeField and Description
private Reader
private final Iterator<? extends CharSource>
Inherited from java.io.Reader:
lock

Constructor Summary

AccessConstructor and Description
pack-priv
MultiReader(Iterator<? extends CharSource> readers)

Method Summary

Modifier and TypeMethod and Description
private void
advance()

Closes the current reader and opens the next one, if any.

public void
close()

Implements abstract java.io.Reader.close.

Implements java.io.Closeable.close.

Closes the stream and releases any system resources associated with it.
public int
read(char[]
Destination buffer
cbuf
,
int
Offset at which to start storing characters
off
,
int
Maximum number of characters to read
len
)

Implements abstract java.io.Reader.read.

Reads characters into a portion of an array.
public boolean
ready()

Overrides java.io.Reader.ready.

Tells whether this stream is ready to be read.
public long
skip(long
The number of characters to skip
n
)

Overrides java.io.Reader.skip.

Skips characters.
Inherited from java.io.Reader:
markmarkSupportednullReaderreadreadreadresettransferTo

Field Detail

currentback to summary
private Reader current
Annotations
@CheckForNull
itback to summary
private final Iterator<? extends CharSource> it

Constructor Detail

MultiReaderback to summary
pack-priv MultiReader(Iterator<? extends CharSource> readers) throws IOException

Method Detail

advanceback to summary
private void advance() throws IOException

Closes the current reader and opens the next one, if any.

closeback to summary
public void close() throws IOException

Implements abstract java.io.Reader.close.

Implements java.io.Closeable.close.

Doc from java.io.Reader.close.

Closes the stream and releases any system resources associated with it. Once the stream has been closed, further read(), ready(), mark(), reset(), or skip() invocations will throw an IOException. Closing a previously closed stream has no effect.

Annotations
@Override
Exceptions
IOException:
If an I/O error occurs
readback to summary
public int read(char[] cbuf, int off, int len) throws IOException

Implements abstract java.io.Reader.read.

Doc from java.io.Reader.read.

Reads 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 the stream is reached.

If len is zero, then no characters are read and 0 is returned; otherwise, there is an attempt to read at least one character. If no character is available because the stream is at its end, the value -1 is returned; otherwise, at least one character is read and stored into cbuf.

Parameters
cbuf:char[]

Destination buffer

off:int

Offset at which to start storing characters

len:int

Maximum number of characters to read

Returns:int

The number of characters read, or -1 if the end of the stream has been reached

Annotations
@Override
Exceptions
IOException:
If an I/O error occurs
readyback to summary
public boolean ready() throws IOException

Overrides java.io.Reader.ready.

Doc from java.io.Reader.ready.

Tells whether this stream is ready to be read.

Returns:boolean

True if the next read() is guaranteed not to block for input, false otherwise. Note that returning false does not guarantee that the next read will block.

Annotations
@Override
Exceptions
IOException:
If an I/O error occurs
skipback to summary
public long skip(long n) throws IOException

Overrides java.io.Reader.skip.

Doc from java.io.Reader.skip.

Skips characters. This method will block until some characters are available, an I/O error occurs, or the end of the stream is reached. If the stream is already at its end before this method is invoked, then no characters are skipped and zero is returned.

Parameters
n:long

The number of characters to skip

Returns:long

The number of characters actually skipped

Annotations
@Override
Exceptions
IOException:
If an I/O error occurs