版权声明:本文为博主原创文章,未经博主允许不得转载。
PipedOutputStream和PipedInputStream用于在应用程序中创建管道通信
实例:
- import java.io.*;
- public class PipedStreamTest {
- public static void main(String [] args) {
- Sender sender = new Sender();
- Receiver receiver = new Receiver();
- PipedOutputStream outStream = sender.getOutStream();
- PipedInputStream inStream = receiver.getInStream();
- try {
- //inStream.connect(outStream); // 与下一句一样
- outStream.connect(inStream);
- } catch (Exception e) {
- e.printStackTrace();
- }
- sender.start();
- receiver.start();
- }
- }
- class Sender extends Thread {
- private PipedOutputStream outStream = new PipedOutputStream();
- public PipedOutputStream getOutStream() {
- return outStream;
- }
- public void run() {
- String info = "hello, receiver";
- try {
- outStream.write(info.getBytes());
- outStream.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- class Receiver extends Thread {
- private PipedInputStream inStream = new PipedInputStream();
- public PipedInputStream getInStream() {
- return inStream;
- }
- public void run() {
- byte[] buf = new byte[1024];
- try {
- int len = inStream.read(buf);
- System.out.println("receive message from sender : " + new String(buf, 0, len));
- inStream.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
其他函数请参照jdk文档