Package java.nio.channels
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 longwrite(ByteBuffer[] buffers)Writes bytes from all the given buffers to a channel.longwrite(ByteBuffer[] buffers, int offset, int length)Attempts to write allremaining()bytes fromlengthbyte buffers, in order, starting atbuffers[offset].Methods inherited from interface java.nio.channels.WritableByteChannel
write
-
Method Details
-
write
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- ifoffset < 0orlength < 0, or ifoffset + lengthis greater than the size ofbuffers.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
Attempts to write allremaining()bytes fromlengthbyte buffers, in order, starting atbuffers[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 inbuffersto 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- ifoffset < 0orlength < 0, or ifoffset + lengthis greater than the size ofbuffers.IOException- if another I/O error occurs; details are in the message.NonWritableChannelException- if the channel was not opened for writing.
-