import java.io.*;
public class pipedstreamdemo {
//本案例需要背默
public static void main(String[] args) {
// TODO 自动生成的方法存根
try{
Sender sender = new Sender();//产生两个线程对象
Receiver receiver = new Receiver();
PipedOutputStream out = sender.getOutputStream();//写入
PipedInputStream in = receiver.getInputStream();//读出
out.connect(in);//将输出发送到输入
sender.start();//启动线程
receiver.start();
}
catch(IOException e){
System.out.println(e.getMessage());
}
}
}
class Sender extends Thread
{
private PipedOutputStream out = new PipedOutputStream();
public PipedOutputStream getOutputStream()
{
return out;
}
public void run()
{
String s = new String("Receiver,你好!");
try{
out.write(s.getBytes());//写入(发送)
out.close();
}
catch(IOException e){
System.out.println(e.getMessage());
}
}
}
class Receiver extends Thread
{
private PipedInputStream in = new PipedInputStream();//此处含义是???
public PipedInputStream getInputStream()
{
return in;
}
public void run()
{
String s = null;
byte[] buf = new byte[1024];
try{
int len = in.read(buf);//读出数据
s = new String(buf,0,len);
System.out.println("收到了以下信息:"+s);
in.close();
}
catch(IOException e){
System.out.print(e.getMessage());
}
}
}