java中PipedOutputStream和PipedInputStream类用法

2014-11-24 10:26:42 · 作者: · 浏览: 0

ipedOutputStream和PipedInputStream用于在应用程序中创建管道通信

实例:

[java]
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();
}
}
}