Interface GatheringByteChannel

All Superinterfaces:
AutoCloseable, Channel, Closeable, WritableByteChannel
All Known Implementing Classes:
DatagramChannel, FileChannel, Pipe.SinkChannel, SocketChannel

public interface GatheringByteChannel
extends WritableByteChannel
The interface for channels that can write a set of buffers in a single operation. The corresponding interface for read operations is ScatteringByteChannel.
  • Method Summary

    Modifier and Type Method Description
    long write​(ByteBuffer[] buffers)
    Writes bytes from all the given buffers to a channel.
    long write​(ByteBuffer[] buffers, int offset, int length)
    Attempts to write all remaining() bytes from length byte buffers, in order, starting at buffers[offset].

    Methods inherited from interface java.nio.channels.Channel

    close, isOpen

    Methods inherited from interface java.nio.channels.WritableByteChannel

    write
  • Method Details

    • write

      long write​(ByteBuffer[] buffers) throws IOException
      Writes bytes from all the given buffers to a channel.

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

      Parameters:
      buffers - the buffers containing bytes to be written.
      Returns:
      the number of bytes actually written.
      Throws:
      AsynchronousCloseException - if the channel is closed by another thread during this write 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 writing.
    • write

      long write​(ByteBuffer[] buffers, int offset, int length) throws IOException
      Attempts to write all remaining() bytes from length byte buffers, in order, starting at buffers[offset]. The number of bytes actually written is returned.

      If a write operation is in progress, subsequent threads will block until the write is completed and then contend for the ability to write.

      Parameters:
      buffers - the array of byte buffers that is the source for bytes written to the channel.
      offset - the index of the first buffer in buffers to get bytes from.
      length - the number of buffers to get bytes from.
      Returns:
      the number of bytes actually written.
      Throws:
      AsynchronousCloseException - if the channel is closed by another thread during this write 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 was not opened for writing.