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
AReadableByteChannelis a type ofChannelthat 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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description intread(ByteBuffer buffer)Reads bytes from the channel into the given buffer.
-
-
-
Method Detail
-
read
int read(ByteBuffer buffer) throws IOException
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.
-
-