Package java.nio.channels
Interface ReadableByteChannel
- All Superinterfaces:
AutoCloseable,Channel,Closeable
- All Known Subinterfaces:
ByteChannel,ScatteringByteChannel
- All Known Implementing Classes:
DatagramChannel,FileChannel,Pipe.SourceChannel,SocketChannel
public interface ReadableByteChannel extends Channel
A
ReadableByteChannel is a type of Channel that 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.
-
Method Summary
Modifier and Type Method Description intread(ByteBuffer buffer)Reads bytes from the channel into the given buffer.
-
Method Details
-
read
Reads bytes from the channel into the given buffer.The maximum number of bytes that will be read is the
remainingnumber of bytes in the buffer when the method is invoked. The bytes will be read into the buffer starting at the buffer's currentposition.The call may block if other threads are also attempting to read from the same channel.
Upon completion, the buffer's
positionis updated to the end of the bytes that were read. The buffer'slimitis not changed.- Parameters:
buffer- the byte buffer to receive the bytes.- Returns:
- the number of bytes actually read.
- Throws:
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.
-