- java.lang.Object
-
- java.nio.channels.Channels
-
-
方法摘要
所有方法 静态方法 具体的方法 Modifier and Type 方法 描述 static ReadableByteChannelnewChannel(InputStream in)构造从给定流读取字节的通道。static WritableByteChannelnewChannel(OutputStream out)构造一个向给定流写入字节的通道。static InputStreamnewInputStream(AsynchronousByteChannel ch)构造从给定通道读取字节的流。static InputStreamnewInputStream(ReadableByteChannel ch)构造从给定通道读取字节的流。static OutputStreamnewOutputStream(AsynchronousByteChannel ch)构造将字节写入给定通道的流。static OutputStreamnewOutputStream(WritableByteChannel ch)构造将字节写入给定通道的流。static ReadernewReader(ReadableByteChannel ch, String csName)构造一个读取器,根据命名的字符集解码来自给定通道的字节。static ReadernewReader(ReadableByteChannel ch, CharsetDecoder dec, int minBufferCap)构造一个读取器,使用给定的解码器解码来自给定通道的字节。static WriternewWriter(WritableByteChannel ch, String csName)构造一个根据命名的字符集对字符进行编码的写入程序,并将生成的字节写入给定的通道。static WriternewWriter(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虚拟机的此实例中不支持命名的字符集
-
-