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();
}
static class Write implements Runnable {
PipedOutputStream out = new PipedOutputStream();
public Write(PipedOutputStream out) {
this.out = out;
}
@Override
public void run() {
try {
out.write("piped stream is coming ".getBytes());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
static class Read implements Runnable {
PipedInputStream in = new PipedInputStream();
public Read(PipedInputStream in) {
this.in = in;
}
@Override
public void run() {
byte[] b = new byte[1024];
try {
int len = in.read(b);
String s = new String(b, 0, len);
System.out.println(s);
in.close();