Java中NIO Pipe管道是什么

mengfanrong 阅读:240 2022-10-04 10:14:43 评论:0

一、Pipe管道是什么?

Java NIO 管道是2个线程之间的单向数据连接。 Pipe有一个source通道和一个sink通道。数据会 被写到sink通道,从source通道读取。

Java中NIO Pipe管道是什么

二、用法

package com.gf.nio;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.Pipe;
import org.junit.Test;

public class TestPipe {    @Test    public void test1() throws IOException{        //1. 获取管道        Pipe pipe = Pipe.open();                //2. 将缓冲区中的数据写入管道        ByteBuffer buf = ByteBuffer.allocate(1024);                Pipe.SinkChannel sinkChannel = pipe.sink();        buf.put("通过单向管道发送数据".getBytes());        buf.flip();        sinkChannel.write(buf);                //3. 读取缓冲区中的数据        Pipe.SourceChannel sourceChannel = pipe.source();        buf.flip();        int len = sourceChannel.read(buf);        System.out.println(new String(buf.array(), 0, len));                sourceChannel.close();        sinkChannel.close();    }}

本文参考链接:https://www.yisu.com/zixun/582250.html
标签:java
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号