日期:2014-05-20 浏览次数:20941 次
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();
            PipedOutputStream in=t2.getInputStream();
            out.connect(in);
            t1.start();
            t2.start();
        }
        catch(Exception 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(Exception 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[] buff=new byte[1024];
        try
        {
            int len=in.read(buff);
            s=new String(buff,1,len);
            System.out.println("the following message comes from sender:\n"+s);
            in.close();
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }
    }
}
        Thread t1=new Sender();
            Thread t2=new Receiver();
            PipedOutputStream out=t1.getOutputStream();
            PipedOutputStream in=t2.getInputStream();
            out.connect(in);
            t1.start();
            t2.start();