Package java.nio.channels
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 Summary
Modifier and Type Method Description static ReadableByteChannelnewChannel(InputStream inputStream)Returns a readable channel on the given input stream.static WritableByteChannelnewChannel(OutputStream outputStream)Returns a writable channel on the given output stream.static InputStreamnewInputStream(ReadableByteChannel channel)Returns an input stream on the given channel.static OutputStreamnewOutputStream(WritableByteChannel channel)Returns an output stream on the given channel.static ReadernewReader(ReadableByteChannel channel, String charsetName)Returns a reader that decodes bytes from a channel.static ReadernewReader(ReadableByteChannel channel, CharsetDecoder decoder, int minBufferCapacity)Returns a reader that decodes bytes from a channel.static WriternewWriter(WritableByteChannel channel, String charsetName)Returns a writer that encodes characters with the specifiedencoderand sends the bytes to the specified channel.static WriternewWriter(WritableByteChannel channel, CharsetEncoder encoder, int minBufferCapacity)Returns a writer that encodes characters with the specifiedencoderand sends the bytes to the specified channel.
-
Method Details
-
newInputStream
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
IllegalBlockingModeExceptionif the channel is in non-blocking mode andreadis called. - Neither
marknorresetis 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
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
IllegalBlockingModeExceptionif the channel is in non-blocking mode andwriteis 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
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
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
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 specifiedencoderand 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
Returns a writer that encodes characters with the specifiedencoderand 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.
-