import java.io.*;
public class PipeStreamTest {
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());
}

}
}

解决方案 »

  1.   

    错是:Exception in thread "main" java.lang.Error: 无法解析的编译问题:
    没有为类型 Thread 定义方法 getOutputStream()
    没有为类型 Thread 定义方法 getInputStream()
      

  2.   

    第8 ,9 行 改为
    PipedOutputStream out= ((Sender) t1).getOutputStream(); 
    PipedInputStream in=((Receiver) t2).getInputStream(); 
    ------------------------------------------the following message comes from sender:
    Hello,receiver,how are you