java怎么用CreatePipe()建立管道

avatar
作者
猴君
阅读量:0

在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!

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!