import java.io.*;
public class TestPipeStream
{
public static void main(String [] args)
{
try
{
Thread t1=new Sender();
Thread t2=new Receiver();
    //编译器说下面两行出现了错误,但我不明错在哪里?
                           PipedOutputStream out=t1.getOutputStream();
PipedInputStream in=t2.getInputStream();
out.connect(in);
t1.start();
t2.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("Hello receiver,how are you");
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("the following message comes from sender:\n"+s);
in.close();
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
}