java怎么用CreatePipe()建立管道

81次阅读
没有评论

共计 1193 个字符,预计需要花费 3 分钟才能阅读完成。

在 Java 中,可以使用 PipedInputStreamPipedOutputStream类来创建管道。

以下是使用 PipedInputStreamPipedOutputStream建立管道的示例代码:

import java.io.IOException;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;

public class PipeExample {public static void main(String[] args) {try {// 创建管道输入流和输出流
            PipedInputStream inputStream = new PipedInputStream();
            PipedOutputStream outputStream = new PipedOutputStream();

            // 将输入流和输出流连接起来
            inputStream.connect(outputStream);

            // 创建发送线程和接收线程
            Thread senderThread = new Thread(() -> {try {// 向输出流写入数据
                    outputStream.write("Hello, World!".getBytes());
                    outputStream.close();} catch (IOException e) {e.printStackTrace();
                }
            });

            Thread receiverThread = new Thread(() -> {try {byte[] buffer = new byte[1024];
                    int bytesRead = inputStream.read(buffer);
                    System.out.println("Received: " + new String(buffer, 0, bytesRead));
                    inputStream.close();} catch (IOException e) {e.printStackTrace();
                }
            });

            // 启动发送线程和接收线程
            senderThread.start();
            receiverThread.start();} catch (IOException e) {e.printStackTrace();
        }
    }
}

以上代码创建了一个管道输入流 inputStream 和一个管道输出流 outputStream,然后通过调用inputStream.connect(outputStream) 方法将它们连接起来。接下来,创建了一个发送线程和一个接收线程来分别向输出流写入数据和从输入流读取数据。最后,通过调用 senderThread.start()receiverThread.start()方法启动这两个线程。

当运行以上代码时,接收线程将从输入流中读取数据,并打印出来。输出结果应为Received: Hello, World!

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-13发表,共计1193字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)