public interface ReadableByteChannel extends Channel
ReadableByteChannelis a type of
Channelthat can read bytes.
Read operations are synchronous on a
ReadableByteChannel, that is,
if a read is already in progress on the channel then subsequent reads will
block until the first read completes. It is undefined whether non-read
operations will block.
int read(ByteBuffer buffer) throws IOException
The maximum number of bytes that will be read is the
remaining number of bytes in the
buffer when the method is invoked. The bytes will be read into the buffer
starting at the buffer's current
The call may block if other threads are also attempting to read from the same channel.
Upon completion, the buffer's
position is updated to the end of
the bytes that were read. The buffer's
limit is not changed.
buffer- the byte buffer to receive the bytes.
AsynchronousCloseException- if another thread closes the channel during the read.
ClosedByInterruptException- if another thread interrupts the calling thread while the operation is in progress. The interrupt state of the calling thread is set and the channel is closed.
ClosedChannelException- if the channel is closed.
IOException- another I/O error occurs, details are in the message.
NonReadableChannelException- if the channel was not opened for reading.