当前位置:编程学习 > JAVA >>

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();//创建一个尚未连接到管道输出流的管道输入流。
                    PipedInputStream(PipedOutputStream in);//创建一个连接到该管道输出入流的管道输入流。
主要方法:int read(byte[] b,int off,int len);//将最多 len 个数据字节从此管道输入流读入 byte 数组
                  void connect(PipedOutputStream out);//使此管道输入流连接到管道输出流 out。
代码演示:
[java] 
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;  
    }  
    @Override  
    public 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{  
  
    @Override  
    public void run() {  
        try {  
            out.write("管道流。。。。".getBytes());  
        } catch (IOException e) {  
              
            e.printStackTrace();  
        }     
          
    }  
      
    private PipedOutputStream out;  
  
    public Output(PipedOutputStream out) {  
        super();  
        this.out = out;  
    }  
}  
 
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,