管道输入/输出流和普通的文件输入/输出流或者网络输入/输出流不同之处在于,它主要用于线程直接的数据传输,而传输的媒介为内存。
管道输入/输出流主要包括了如下4钟具体实现:PipedOutputStream、PipedInputStream、PipedReader和PipedWriter,前两种面向字节,后两种面向字符。
管道输入/输出流主要包括了如下4钟具体实现:PipedOutputStream、PipedInputStream、PipedReader和PipedWriter,前两种面向字节,后两种面向字符。
对于Piped类型的流,必须要先进行绑定,也就是调用connect方法,如果没有将输入/输出流进行绑定,对应流的访问会抛出异常。
import java.io.IOException;
import java.io.PipedReader;
import java.io.PipedWriter;
/**
* Created by caozhifei on 2016/6/28.
*/
public class Piped {
public static void main(String[] args) throws IOException {
PipedWriter out = new PipedWriter();
PipedReader in = new PipedReader();
out.connect(in);
Thread printThread = new Thread(new PrintThread(in),"PrintThread");
printThread.start();
int receive = 0;
try {
while ((receive = System.in.read()) != -1) {
out.write(receive);
}
}finally {