import java.io.IOException;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
class Businesses implements Runnable {
private PipedOutputStream pos = null; //用于通信
public Businesses() {
pos = new PipedOutputStream();
}
@Override
public void run() {
try {
String str = "快来买呀";
pos.write(str.getBytes());
pos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public PipedOutputStream getPos() {
return pos;
}
}
class Customers implements Runnable {
private PipedInputStream pis = null;
public Customers() {
this.pis = new PipedInputStream();
}
@Override
public void run() {
try {
byte[] b = new byte[1024];
int len = pis.read(b);
pis.close();
System.out.println("收到商家说话:"+new String(b,0,len));
} catch (IOException e) {
e.printStackTrace();
}
}
public PipedInputStream getPis() {
return pis;
}
}
public class PipeDemo {
public static void main(String[] args) {
Businesses businesses = new Businesses();
Customers customers = new Customers();
if (businesses.getPos() == null|| customers.getPis() ==null ) {
System.out.println("出现异常;businesses.getPos() == null|| customers.getPis() ==null ");
return;
}
try {
businesses.getPos().connect(customers.getPis());
} catch (IOException e) {
e.printStackTrace();
}
new Thread(businesses).start();
new Thread(customers).start();
}
}