package com.wj.pipedstream;
import java.io.IOException;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
/**
*
* @author wJing
* 管道流
*/
public class PipedStreamDemo {
public static void main(String[] args) throws Exception {
PipedInputStream in = new PipedInputStream();
PipedOutputStream out = new PipedOutputStream();
in.connect(out);
read r = new read(in);
Write w = new Write(out);
new Thread(r).start();
new Thread(w).start();
}
}
class read implements Runnable {
PipedInputStream pis = null;
public read(PipedInputStream pis) {
this.pis = pis;
}
@Override
public void run() {
try {
byte [] buf = new byte[1024];
int len = pis.read(buf);
String s = new String(buf,0,len);
System.out.println(s);
pis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Write implements Runnable {
PipedOutputStream pos = null;
public Write(PipedOutputStream pos) {
this.pos = pos;
}
@Override
public void run() {
try {
pos.write("abcded".getBytes());
pos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}