PipedInputStream类 和 PipedOutputStream类 的简单介绍和代码演示
PipedOutputStream类 和PipedInputStream 类为管道输出流 和管道输入流。通常都是以管道输出流作为管道的起始端,通常管道输出流和管道输入流通过connect方法连接起来,实现数据从管道输出流 流入 管道输入流中。管道输出流提供管道输入流的所有字节。通常都是
PipedOutputStream类介绍:构造方法:PipedOutputStream();//创建一个尚未连接到管道输入流的管道输出流。
PipedOutputStream(pipedInputStream in);//创建一个连接到该管道输入流的管道输出流。
主要方法。void write(int b);//将指定
byte写入传送的输出流。void write(byte[] buf);//将该字符数组写入到管道输出流。
void close();
void connect(PipedInputStream in);使此管道输出流连接到管道输入流 in。
构造方法:PipedInputStream();//创建一个尚未连接到管道输出流的管道输入流。
PipedInputStream(PipedOutputStream in);//创建一个连接到该管道输出入流的管道输入流。
主要方法:int read(byte[] b,int off,int len);//将最多
len个数据字节从此管道输入流读入 byte 数组void connect(PipedOutputStream out);//使此管道输入流连接到管道输出流 out。
代码演示:
package PipedDemo;import java.io.IOException;import java.io.PipedInputStream;import java.io.PipedOutputStream;public class PipedDemo {/** * @param args * @throws IOException */public static void main(String[] args) throws IOException {PipedInputStream in = new PipedInputStream();PipedOutputStream out = new PipedOutputStream();in.connect(out);new Thread(new Input(in)).start();new Thread(new Output(out)).start();}}class Input implements Runnable{private PipedInputStream in;public Input(PipedInputStream in) {super();this.in = in;}@Overridepublic void run() {byte []buf = new byte[1024];int len;try {len = in.read(buf);String s = new String(buf,0,len);System.out.println("in "+s);in.close();} catch (IOException e) {e.printStackTrace();} }}class Output implements Runnable{@Overridepublic void run() {try {out.write("管道流。。。。".getBytes());} catch (IOException e) {e.printStackTrace();}}private PipedOutputStream out;public Output(PipedOutputStream out) {super();this.out = out;}}