Class Channels


  • public final class Channels
    extends Object
    This class provides several utilities to get I/O streams from channels.
    • Method Detail

      • newInputStream

        public static InputStream newInputStream​(ReadableByteChannel channel)
        Returns an input stream on the given channel. The resulting stream has the following properties:
        • If the stream is closed, then the underlying channel is closed as well.
        • It is thread safe.
        • It throws an IllegalBlockingModeException if the channel is in non-blocking mode and read is called.
        • Neither mark nor reset is supported.
        • It is not buffered.
        Parameters:
        channel - the channel to be wrapped by an InputStream.
        Returns:
        an InputStream that takes bytes from the given byte channel.
      • newOutputStream

        public static OutputStream newOutputStream​(WritableByteChannel channel)
        Returns an output stream on the given channel. The resulting stream has the following properties:
        • If the stream is closed, then the underlying channel is closed as well.
        • It is thread safe.
        • It throws an IllegalBlockingModeException if the channel is in non-blocking mode and write is called.
        • It is not buffered.
        Parameters:
        channel - the channel to be wrapped by an OutputStream.
        Returns:
        an OutputStream that puts bytes onto the given byte channel.
      • newChannel

        public static ReadableByteChannel newChannel​(InputStream inputStream)
        Returns a readable channel on the given input stream. The resulting channel has the following properties:
        • If the channel is closed, then the underlying stream is closed as well.
        • It is not buffered.
        Parameters:
        inputStream - the stream to be wrapped by a byte channel.
        Returns:
        a byte channel that reads bytes from the input stream.
      • newChannel

        public static WritableByteChannel newChannel​(OutputStream outputStream)
        Returns a writable channel on the given output stream. The resulting channel has following properties:
        • If the channel is closed, then the underlying stream is closed as well.
        • It is not buffered.
        Parameters:
        outputStream - the stream to be wrapped by a byte channel.
        Returns:
        a byte channel that writes bytes to the output stream.
      • newReader

        public static Reader newReader​(ReadableByteChannel channel,
                                       CharsetDecoder decoder,
                                       int minBufferCapacity)
        Returns a reader that decodes bytes from a channel.
        Parameters:
        channel - the Channel to be read.
        decoder - the Charset decoder to be used.
        minBufferCapacity - The minimum size of the byte buffer, -1 means to use the default size.
        Returns:
        the reader.
      • newReader

        public static Reader newReader​(ReadableByteChannel channel,
                                       String charsetName)
        Returns a reader that decodes bytes from a channel. This method creates a reader with a buffer of default size.
        Parameters:
        channel - the Channel to be read.
        charsetName - the name of the charset.
        Returns:
        the reader.
        Throws:
        UnsupportedCharsetException - if the given charset name is not supported.
      • newWriter

        public static Writer newWriter​(WritableByteChannel channel,
                                       CharsetEncoder encoder,
                                       int minBufferCapacity)
        Returns a writer that encodes characters with the specified encoder and sends the bytes to the specified channel.
        Parameters:
        channel - the Channel to write to.
        encoder - the CharsetEncoder to be used.
        minBufferCapacity - the minimum size of the byte buffer, -1 means to use the default size.
        Returns:
        the writer.
      • newWriter

        public static Writer newWriter​(WritableByteChannel channel,
                                       String charsetName)
        Returns a writer that encodes characters with the specified encoder and sends the bytes to the specified channel. This method creates a writer with a buffer of default size.
        Parameters:
        channel - the Channel to be written to.
        charsetName - the name of the charset.
        Returns:
        the writer.
        Throws:
        UnsupportedCharsetException - if the given charset name is not supported.