JAVA流之管道流PipedInputStream,PipedOutputStream

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

管道流主要作用是可以连接两个线程间的通信。管道流也分为字节流(PipedInputStream、PipedOutputStream)与字符流(PipedReader、PipedWriter)两种类型.

一个PipedInputStream 对象必须和一个PipedOutputStream 对象进行连接而产生一个通信管道,PipedOutputStream 可以向管道中写入数据,PipedInputStream 可以从管道中读取 PipedOutputStream 写入的数据。

生产者消费者模式经典应用

demo如下

package com.yudian.io.stream;

import java.io.IOException;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;

public class PipedSteam {
	public static void main(String[] args) {
		PipedInputStream pi = new PipedInputStream();
		PipedOutputStream po = new PipedOutputStream();
		try {
			pi.connect(po);
			po.write("测式".getBytes("utf8"));
			po.close();
			byte[] bytes = new byte[100];
			pi.read(bytes);
			System.out.println(new String(bytes, "utf8"));
			pi.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

打印结果

测试

转载于:https://my.oschina.net/u/136848/blog/842148

你可能感兴趣的:(JAVA流之管道流PipedInputStream,PipedOutputStream)