public interface ScatteringByteChannel extends ReadableByteChannel
GatheringByteChannel
.Modifier and Type | Method and Description |
---|---|
long |
read(ByteBuffer[] buffers)
Reads bytes from this channel into the specified array of buffers.
|
long |
read(ByteBuffer[] buffers,
int offset,
int length)
Attempts to read all
remaining() bytes from length byte
buffers, in order, starting at buffers[offset] . |
read
long read(ByteBuffer[] buffers) throws IOException
This method is equivalent to read(buffers, 0, buffers.length);
buffers
- the array of byte buffers to store the bytes being read.AsynchronousCloseException
- if the channel is closed by another thread during this read
operation.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
- if another I/O error occurs; details are in the message.NonWritableChannelException
- if the channel has not been opened in a mode that permits
reading.long read(ByteBuffer[] buffers, int offset, int length) throws IOException
remaining()
bytes from length
byte
buffers, in order, starting at buffers[offset]
. The number of
bytes actually read is returned.
If a read operation is in progress, subsequent threads will block until the read is completed and will then contend for the ability to read.
buffers
- the array of byte buffers into which the bytes will be copied.offset
- the index of the first buffer to store bytes in.length
- the maximum number of buffers to store bytes in.AsynchronousCloseException
- if the channel is closed by another thread during this read
operation.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.IndexOutOfBoundsException
- if offset < 0
or length < 0
, or if
offset + length
is greater than the size of
buffers
.IOException
- if another I/O error occurs; details are in the message.NonWritableChannelException
- if the channel has not been opened in a mode that permits
reading.