Java知识点总结(JavaIO-管道流)
@(Java知识点总结)[Java, JavaIO]
[toc]
管道流的主要作用是可以进行两个线程间的通信。
如果要进行管道输出,则必须把输出流连接在输入流上,在PipeOutputStream类上有如下方法用于连接管道。
public class Demo07 {
public static void main(String[] args) {
Send s = new Send();
Receive r = new Receive();
try {
s.getPos().connect(r.getPis());
} catch (IOException e) {
e.printStackTrace();
}
new Thread(s).start();
new Thread(r).start();
}
}
class Send implements Runnable{
private PipedOutputStream pos = null;
public Send (){
this.pos = new PipedOutputStream();
}
@Override
public void run() {
String s = "hello world";
try {
pos.write(s.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
try {
pos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public PipedOutputStream getPos() {
return pos ;
}
}
class Receive implements Runnable{
private PipedInputStream pis;
public Receive() {
this.pis = new PipedInputStream();
}
@Override
public void run() {
byte[] b = new byte[1024];
int len = 0;
try {
len = this.pis.read(b);
} catch (IOException e) {
e.printStackTrace();
}
try {
pis.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("接收的内容为:" + new String (b,0,len));
}
public PipedInputStream getPis() {
return pis;
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。