Interface ScatteringByteChannel

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method 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].
    • Method Detail

      • read

        long read​(ByteBuffer[] buffers)
           throws IOException
        Reads bytes from this channel into the specified array of buffers.

        This method is equivalent to read(buffers, 0, buffers.length);

        Parameters:
        buffers - the array of byte buffers to store the bytes being read.
        Returns:
        the number of bytes actually read.
        Throws:
        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.
      • read

        long read​(ByteBuffer[] buffers,
                  int offset,
                  int length)
           throws IOException
        Attempts to read all 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.

        Parameters:
        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.
        Returns:
        the number of bytes actually read.
        Throws:
        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.