public interface

ReadableByteChannel

implements Channel
java.nio.channels.ReadableByteChannel
Known Indirect Subclasses

Class Overview

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.

Summary

Public Methods
abstract int read(ByteBuffer buffer)
Reads bytes from the channel into the given buffer.
[Expand]
Inherited Methods
From interface java.io.Closeable
From interface java.nio.channels.Channel

Public Methods

public abstract int read (ByteBuffer buffer)

Since: API Level 1

Reads bytes from the channel into the given buffer.

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 position.

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.

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.