//package ljl002.java.io;
import java.io.*;
/**
*
* @author Administrator
* 管道的基本操作
*/
public class PipeDemo{
static PipedInputStream pis = new PipedInputStream();
static PipedOutputStream pos = new PipedOutputStream();
private static void startWriterThread(){
new Thread(new Runnable(){
public void run(){
byte[] outs = new byte[2000];
while(true){
try{
pos.write(outs,0,2000);
}catch(IOException ioe){
System.err.println("写入错误!");
System.exit(1);
}
System.out.println("已经写入了2000个字节");
}
}
}).start();
}
public static void main(String[] args){
try{
pis.connect(pos);
}catch(IOException ioe){
System.err.println("管道连接失败!");
}
byte[] ins = new byte[10];
int bytesCount = 0;
startWriterThread();
try{
bytesCount = pis.read(ins,0,10);
while(bytesCount != -1){
System.out.println("读取了" + bytesCount+"个字节!");
bytesCount = pis.read(ins,0,10);
}
}catch(IOException ioe){
System.err.println("读取错误!");
System.exit(1);
}
}
}