- java.lang.Object
-
- java.nio.channels.Channels
-
-
方法摘要
所有方法 静态方法 具体的方法 变量和类型 方法 描述 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, Charset charset)
构造一个读取器,根据给定的字符集解码给定通道的字节。static Reader
newReader(ReadableByteChannel ch, CharsetDecoder dec, int minBufferCap)
构造一个读取器,使用给定的解码器解码来自给定通道的字节。static Writer
newWriter(WritableByteChannel ch, String csName)
构造一个编写器,根据指定的字符集对字符进行编码,并将结果字节写入给定的通道。static Writer
newWriter(WritableByteChannel ch, Charset charset)
构造一个编写器,根据给定的字符集对字符进行编码,并将结果字节写入给定的通道。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))
- 参数
-
ch
- 将从中读取字节的通道 -
csName
- 要使用的charset的名称 - 结果
- 一个新的读者
- 异常
-
UnsupportedCharsetException
- 如果在此Java虚拟机实例中不支持指定的charset
-
newReader
public static Reader newReader(ReadableByteChannel ch, Charset charset)
构造一个读取器,根据给定的字符集解码给定通道的字节。调用此方法的形式
Channels.newReader(ch, charset)
Channels.newReader(ch, Charset.forName(csName).newDecoder(), -1)
读者对格式错误输入和不可映射字符错误的默认操作是report 。 当需要更多地控制错误处理时,应该使用采用CharsetDecoder的构造函数。
- 参数
-
ch
- 将从中读取字节的通道 -
charset
- 要使用的字符集 - 结果
- 一个新的读者
-
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))
- 参数
-
ch
- 要写入字节的通道 -
csName
- 要使用的charset的名称 - 结果
- 一位新作家
- 异常
-
UnsupportedCharsetException
- 如果在此Java虚拟机实例中不支持指定的charset
-
newWriter
public static Writer newWriter(WritableByteChannel ch, Charset charset)
构造一个编写器,根据给定的字符集对字符进行编码,并将结果字节写入给定的通道。调用此方法的形式
Channels.newWriter(ch, charset)
Channels.newWriter(ch, Charset.forName(csName).newEncoder(), -1)
作者对格式错误输入和不可映射字符错误的默认操作是report 。 当需要更多地控制错误处理时,应该使用采用CharsetEncoder的构造函数。
- 参数
-
ch
- 要写入字节的通道 -
charset
- 要使用的字符集 - 结果
- 一位新作家
-
-