Java NIO 管道

2025 年 3 月 22 日 | 阅读需 2 分钟

Java NIO 管道用于在两个线程之间建立单向数据连接。它有一个接收通道和一个源通道。数据写入接收通道,然后可以从源通道读取。

在 Java NIO 中,java.nio.channel.pipe 包用于按顺序读写数据。管道用于确保数据必须按照写入管道的顺序读取。

让我们看看管道操作原理的框图说明

Java Nio tutorial16

创建管道

要创建管道,我们需要通过调用 Pipe.open() 方法来打开一个管道。

打开或创建管道的语法是


从管道读取

要从管道读取数据,我们需要访问源通道。因此,访问源通道的语法是

要从 SourceChannel 读取数据,我们调用 read() 方法,如下所示

read() 方法返回的整数值用于确定已读取到缓冲区中的字节数。


写入管道

要将数据写入管道,我们需要访问接收通道。因此,访问接收通道的语法是

要将数据写入 SinkChannel,我们调用 write() 方法,如下所示

基本管道示例

输出

下一主题Java NIO 字符集