共计 1193 个字符,预计需要花费 3 分钟才能阅读完成。
在 Java 中,可以使用 PipedInputStream
和PipedOutputStream
类来创建管道。
以下是使用 PipedInputStream
和PipedOutputStream
建立管道的示例代码:
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 网 – 提供最优质的资源集合!
正文完
发表至: Java
2023-12-13