Class Channels

java.lang.Object
java.nio.channels.Channels

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

    • 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.