This interface extends WritableByteChannel and adds two additional write( ) methods that can "gather" bytes from one or more buffers and write them out to the channel. These methods are passed an array of ByteBuffer objects, and, optionally , an offset and length that define the relevant sub-array to be used. The write( ) method attempts to write all the remaining bytes from all the specified buffers (in the order in which they appear in the buffer array) to the channel. The return value of the method is the number of bytes actually written. See WritableByteChannel for a discussion of exceptions and thread-safety that apply to these write( ) methods as well. Figure 13-25. java.nio.channels.GatheringByteChannelpublic interface GatheringByteChannel extends WritableByteChannel { // Public Instance Methods long write (java.nio.ByteBuffer[ ] srcs ) throws java.io.IOException; long write (java.nio.ByteBuffer[ ] srcs , int offset , int length ) throws java.io.IOException; } ImplementationsDatagramChannel , FileChannel , Pipe.SinkChannel , SocketChannel |