public final class Channels extends Object
This class defines static methods that support the interoperation of the stream classes of the java.io package with the channel classes of this package.
| Modifier and Type | Method and Description |
|---|---|
static ReadableByteChannel |
newChannel(InputStream
Constructs a channel that reads bytes from the given stream.
|
static WritableByteChannel |
newChannel(OutputStream
Constructs a channel that writes bytes to the given stream.
|
static InputStream |
newInputStream(AsynchronousByteChannel
Constructs a stream that reads bytes from the given channel.
|
static InputStream |
newInputStream(ReadableByteChannel
Constructs a stream that reads bytes from the given channel.
|
static OutputStream |
newOutputStream(AsynchronousByteChannel
Constructs a stream that writes bytes to the given channel.
|
static OutputStream |
newOutputStream(WritableByteChannel
Constructs a stream that writes bytes to the given channel.
|
static Reader |
newReader(ReadableByteChannel
Constructs a reader that decodes bytes from the given channel using the given decoder.
|
static Reader |
newReader(ReadableByteChannel
Constructs a reader that decodes bytes from the given channel according to the named charset.
|
static Writer |
newWriter(WritableByteChannel
Constructs a writer that encodes characters using the given encoder and writes the resulting bytes to the given channel.
|
static Writer |
newWriter(WritableByteChannel
Constructs a writer that encodes characters according to the named charset and writes the resulting bytes to the given channel.
|
public static InputStreamnewInputStream(ReadableByteChannel ch)
The read methods of the resulting stream will throw an IllegalBlockingModeException if invoked while the underlying channel is in non-blocking mode. The stream will not be buffered, and it will not support the mark or 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.
ch - The channel from which bytes will be read
public static OutputStreamnewOutputStream(WritableByteChannel ch)
The write methods of the resulting stream will throw an 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.
ch - The channel to which bytes will be written
public static InputStreamnewInputStream(AsynchronousByteChannel ch)
The stream will not be buffered, and it will not support the mark or 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.
ch - The channel from which bytes will be read
public static OutputStreamnewOutputStream(AsynchronousByteChannel ch)
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.
ch - The channel to which bytes will be written
public static ReadableByteChannelnewChannel(InputStream in)
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.
in - The stream from which bytes are to be read
public static WritableByteChannelnewChannel(OutputStream out)
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.
out - The stream to which bytes are to be written
public static ReadernewReader(ReadableByteChannel ch, CharsetDecoder dec, int minBufferCap)
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 IllegalBlockingModeException will be thrown. The resulting stream will not otherwise be buffered, and it will not support the mark or reset methods. Closing the stream will in turn cause the channel to be closed.
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
public static ReadernewReader(ReadableByteChannel ch, String csName)
An invocation of this method of the form
behaves in exactly the same way as the expressionChannels.newReader(ch, csname)
Channels.newReader(ch,
Charset.forName(csName)
.newDecoder(),
-1);
ch - The channel from which bytes will be read
csName - The name of the charset to be used
UnsupportedCharsetException - If no support for the named charset is available in this instance of the Java virtual machine
public static WriternewWriter(WritableByteChannel ch, CharsetEncoder enc, int minBufferCap)
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 IllegalBlockingModeException will be thrown. The resulting stream will not otherwise be buffered. Closing the stream will in turn cause the channel to be closed.
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
public static WriternewWriter(WritableByteChannel ch, String csName)
An invocation of this method of the form
behaves in exactly the same way as the expressionChannels.newWriter(ch, csname)
Channels.newWriter(ch,
Charset.forName(csName)
.newEncoder(),
-1);
ch - The channel to which bytes will be written
csName - The name of the charset to be used
UnsupportedCharsetException - If no support for the named charset is available in this instance of the Java virtual machine