PipedInputStream和PipedOutputStream管道流

import java.io.*;
class Send implements Runnable
{
	private PipedOutputStream pos=null;
	public Send(){
		this.pos=new PipedOutputStream();
	}

	public void run(){
		String str="Hello world";
		try{
			this.pos.write(str.getBytes());
		}catch(IOException e){
			e.printStackTrace();
		}
	}

	public PipedOutputStream getpos(){
		return this.pos;
	}
}

class Receive implements Runnable
{
	private PipedInputStream pis=null;
	public Receive(){
		this.pis=new PipedInputStream();
	}

	public void run()
	{
		byte b[]=new byte[1024];
		int len=0;
		try{
			len=this.pis.read(b);
		}catch(IOException e){
			e.printStackTrace();
		}

		try{
			this.pis.close();
		}catch(IOException e){
			e.printStackTrace();
		}

		System.out.println("接受的内容为:"+new String(b,0,len));
	}
		public PipedInputStream getpis(){
			return this.pis;
		}
}

public class PipedDemo
{
	public static void main(String[] args) 
	{
		Send s=new Send();
		Receive r=new Receive();
		try{
			s.getpos().connect(r.getpis());
		}catch(IOException e){
			e.printStackTrace();
		}

		new Thread(s).start();        //启动线程
		new Thread(r).start();        //启动线程
	}
}

原文地址:https://www.cnblogs.com/dengshiwei/p/4258646.html