- java.lang.Object
-
- java.nio.channels.Channels
-
-
方法摘要
所有方法 静态方法 具体的方法 Modifier and Type 方法 描述 static ReadableByteChannel
newChannel(InputStream in)
构造从给定流读取字节的通道。static WritableByteChannel
newChannel(OutputStream out)
构造一个向给定流写入字节的通道。static InputStream
newInputStream(AsynchronousByteChannel ch)
构造从给定通道读取字节的流。static InputStream
newInputStream(ReadableByteChannel ch)
构造从给定通道读取字节的流。static OutputStream
newOutputStream(AsynchronousByteChannel ch)
构造将字节写入给定通道的流。static OutputStream
newOutputStream(WritableByteChannel ch)
构造将字节写入给定通道的流。static Reader
newReader(ReadableByteChannel ch, String csName)
构造一个读取器,根据命名的字符集解码来自给定通道的字节。static Reader
newReader(ReadableByteChannel ch, CharsetDecoder dec, int minBufferCap)
构造一个读取器,使用给定的解码器解码来自给定通道的字节。static Writer
newWriter(WritableByteChannel ch, String csName)
构造一个根据命名的字符集对字符进行编码的写入程序,并将生成的字节写入给定的通道。static Writer
newWriter(WritableByteChannel ch, CharsetEncoder enc, int minBufferCap)
构造一个使用给定编码器编码字符的写入器,并将生成的字节写入给定的通道。
-
-
-
方法详细信息
-
newInputStream
public static InputStream newInputStream(ReadableByteChannel ch)
构造从给定通道读取字节的流。如果在底层通道处于非阻塞模式时调用,则产生的流的
read
方法将抛出IllegalBlockingModeException
。 流不会被缓冲,并且不支持mark
或reset
方法。 流可以安全地访问多个并发线程。 关闭流将反过来导致通道关闭。- 参数
-
ch
- 读取字节的通道 - 结果
- 一个新的输入流
-
newOutputStream
public static OutputStream newOutputStream(WritableByteChannel ch)
构造将字节写入给定通道的流。如果在基础通道处于非阻塞模式时调用,则产生的流的
write
方法将抛出IllegalBlockingModeException
。 流不会被缓冲。 流可以安全地访问多个并发线程。 关闭流将反过来导致通道关闭。- 参数
-
ch
- 要写入字节的通道 - 结果
- 一个新的输出流
-
newInputStream
public static InputStream newInputStream(AsynchronousByteChannel ch)
- 参数
-
ch
- 读取字节的通道 - 结果
- 一个新的输入流
- 从以下版本开始:
- 1.7
-
newOutputStream
public static OutputStream newOutputStream(AsynchronousByteChannel ch)
构造将字节写入给定通道的流。流不会被缓冲。 流可以安全地访问多个并发线程。 关闭流将反过来导致通道关闭。
- 参数
-
ch
- 要写入字节的通道 - 结果
- 一个新的输出流
- 从以下版本开始:
- 1.7
-
newChannel
public static ReadableByteChannel newChannel(InputStream in)
构造从给定流读取字节的通道。结果通道不会被缓冲; 它将简单地将其I / O操作重定向到给定流。 关闭通道又会导致流关闭。
- 参数
-
in
- 要读取字节的流 - 结果
- 一个新的可读字节通道
-
newChannel
public static WritableByteChannel newChannel(OutputStream out)
构造一个向给定流写入字节的通道。结果通道不会被缓冲; 它将简单地将其I / O操作重定向到给定流。 关闭通道又会导致流关闭。
- 参数
-
out
- 要写入字节的流 - 结果
- 一个新的可写字节通道
-
newReader
public static Reader newReader(ReadableByteChannel ch, CharsetDecoder dec, int minBufferCap)
构造一个读取器,使用给定的解码器解码来自给定通道的字节。所得到的流将包含至少
minBufferCap
个字节的内部输入缓冲区。 根据需要,流的read
方法将通过从底层通道读取字节来填充缓冲区; 如果要读取字节时通道处于非阻塞模式,则将抛出IllegalBlockingModeException
。 所得到的流将不会被缓冲,并且不支持mark
或reset
方法。 关闭流将反过来导致通道关闭。- 参数
-
ch
- 从中读取字节的通道 -
dec
- 要使用的字符集解码器 -
minBufferCap
- 内部字节缓冲区的最小容量,如果要使用实现相关的默认容量,-1
- 结果
- 一个新的读者
-
newReader
public static Reader newReader(ReadableByteChannel ch, String csName)
构造一个读取器,根据命名的字符集解码来自给定通道的字节。调用此方法的形式
Channels.newReader(ch, csname)
Channels.newReader(ch, Charset.forName(csName).newDecoder(), -1)
- 参数
-
ch
- 读取字节的通道 -
csName
- 要使用的字符集的名称 - 结果
- 一个新的读者
- 异常
-
UnsupportedCharsetException
- 如果在Java虚拟机的此实例中不支持命名的字符集
-
newWriter
public static Writer newWriter(WritableByteChannel ch, CharsetEncoder enc, int minBufferCap)
构造一个使用给定编码器编码字符的写入器,并将生成的字节写入给定的通道。结果流将包含至少
minBufferCap
字节的内部输出缓冲区。 流的write
方法将根据需要通过向基础通道写入字节来刷新缓冲区; 如果要写入字节时通道处于非阻塞模式,则将抛出IllegalBlockingModeException
。 所得到的流将不会被缓冲。 关闭流将反过来导致通道关闭。- 参数
-
ch
- 要写入字节的通道 -
enc
- 要使用的字符集编码器 -
minBufferCap
- 内部字节缓冲区的最小容量,如果要使用实现相关的默认容量,-1
- 结果
- 一个新作家
-
newWriter
public static Writer newWriter(WritableByteChannel ch, String csName)
构造一个根据命名的字符集对字符进行编码的写入程序,并将生成的字节写入给定的通道。调用此方法的形式
Channels.newWriter(ch, csname)
Channels.newWriter(ch, Charset.forName(csName).newEncoder(), -1)
- 参数
-
ch
- 要写入字节的通道 -
csName
- 要使用的字符集的名称 - 结果
- 一个新作家
- 异常
-
UnsupportedCharsetException
- 如果在Java虚拟机的此实例中不支持命名的字符集
-
-