This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


java.nio.channels
class Channels

java.lang.Object extended by java.nio.channels.Channels

public final class Channels
extends Object

Utility methods for channels and streams.

This class defines static methods that support the interoperation of the stream classes of the {@link java.io} package with the channel classes of this package.


Method Summary
static ReadableByteChannel

          Constructs a channel that reads bytes from the given stream.
static WritableByteChannel

          Constructs a channel that writes bytes to the given stream.
static InputStream

          Constructs a stream that reads bytes from the given channel.
static OutputStream

          Constructs a stream that writes bytes to the given channel.
static Reader
newReader(ReadableByteChannel ch, CharsetDecoder dec, int minBufferCap)

          Constructs a reader that decodes bytes from the given channel using the given decoder.
static Reader

          Constructs a reader that decodes bytes from the given channel according to the named charset.
static Writer
newWriter(WritableByteChannel ch, CharsetEncoder enc, int minBufferCap)

          Constructs a writer that encodes characters using the given encoder and writes the resulting bytes to the given channel.
static Writer

          Constructs a writer that encodes characters according to the named charset and writes the resulting bytes to the given channel.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newChannel

public static ReadableByteChannel newChannel(InputStream in)
Constructs a channel that reads bytes from the given stream.

The resulting channel will not be buffered; it will simply redirect its I/O operations to the given stream. Closing the channel will in turn cause the stream to be closed.

Parameters:
in - The stream from which bytes are to be read
Returns:
A new readable byte channel

newChannel

public static WritableByteChannel newChannel(OutputStream out)
Constructs a channel that writes bytes to the given stream.

The resulting channel will not be buffered; it will simply redirect its I/O operations to the given stream. Closing the channel will in turn cause the stream to be closed.

Parameters:
out - The stream to which bytes are to be written
Returns:
A new writable byte channel

newInputStream

public static InputStream newInputStream(ReadableByteChannel ch)
Constructs a stream that reads bytes from the given channel.

The read methods of the resulting stream will throw an {@link IllegalBlockingModeException} if invoked while the underlying channel is in non-blocking mode. The stream will not be buffered, and it will not support the {@link InputStream#mark mark} or {@link InputStream#reset reset} methods. The stream will be safe for access by multiple concurrent threads. Closing the stream will in turn cause the channel to be closed.

Parameters:
ch - The channel from which bytes will be read
Returns:
A new input stream

newOutputStream

public static OutputStream newOutputStream(WritableByteChannel ch)
Constructs a stream that writes bytes to the given channel.

The write methods of the resulting stream will throw an {@link IllegalBlockingModeException} if invoked while the underlying channel is in non-blocking mode. The stream will not be buffered. The stream will be safe for access by multiple concurrent threads. Closing the stream will in turn cause the channel to be closed.

Parameters:
ch - The channel to which bytes will be written
Returns:
A new output stream

newReader

public static Reader newReader(ReadableByteChannel ch,
                               CharsetDecoder dec,
                               int minBufferCap)
Constructs a reader that decodes bytes from the given channel using the given decoder.

The resulting stream will contain an internal input buffer of at least minBufferCap bytes. The stream's read methods will, as needed, fill the buffer by reading bytes from the underlying channel; if the channel is in non-blocking mode when bytes are to be read then an {@link IllegalBlockingModeException} will be thrown. The resulting stream will not otherwise be buffered, and it will not support the {@link Reader#mark mark} or {@link Reader#reset reset} methods. Closing the stream will in turn cause the channel to be closed.

Parameters:
ch - The channel from which bytes will be read
dec - The charset decoder to be used
minBufferCap - The minimum capacity of the internal byte buffer, or -1 if an implementation-dependent default capacity is to be used
Returns:
A new reader

newReader

public static Reader newReader(ReadableByteChannel ch,
                               String csName)
Constructs a reader that decodes bytes from the given channel according to the named charset.

An invocation of this method of the form

 Channels.newReader(ch, csname)
behaves in exactly the same way as the expression
 Channels.newReader(ch,
                    Charset.forName(csName)
                        .newDecoder(),
                    -1);

Parameters:
ch - The channel from which bytes will be read
csName - The name of the charset to be used
Returns:
A new reader

newWriter

public static Writer newWriter(WritableByteChannel ch,
                               CharsetEncoder enc,
                               int minBufferCap)
Constructs a writer that encodes characters using the given encoder and writes the resulting bytes to the given channel.

The resulting stream will contain an internal output buffer of at least minBufferCap bytes. The stream's write methods will, as needed, flush the buffer by writing bytes to the underlying channel; if the channel is in non-blocking mode when bytes are to be written then an {@link IllegalBlockingModeException} will be thrown. The resulting stream will not otherwise be buffered. Closing the stream will in turn cause the channel to be closed.

Parameters:
ch - The channel to which bytes will be written
enc - The charset encoder to be used
minBufferCap - The minimum capacity of the internal byte buffer, or -1 if an implementation-dependent default capacity is to be used
Returns:
A new writer

newWriter

public static Writer newWriter(WritableByteChannel ch,
                               String csName)
Constructs a writer that encodes characters according to the named charset and writes the resulting bytes to the given channel.

An invocation of this method of the form

 Channels.newWriter(ch, csname)
behaves in exactly the same way as the expression
 Channels.newWriter(ch,
                    Charset.forName(csName)
                        .newEncoder(),
                    -1);

Parameters:
ch - The channel to which bytes will be written
csName - The name of the charset to be used
Returns:
A new writer


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.