Java 输入输出流教程(三)——【管道】(原作:Java IO Tutorial by Jakob Jenkov)
2013-03-20 17:30
435 查看
管道
Java IO中的管道提供了在同一个JVM下,两个线程之间的交流功能。同样,管道也是一个常见的源或目标。Java中的管道概念与Unix/Linux中的管道有所不同,Unix/Linux中两个在不同空间下运行的进程可以通过pipe交换数据。在Java中,pipes必须要在同一个进程中的不同线程之间进行通讯。
利用Java IO建立管道
通过PipedOutputStream和PipedInputStream可以建立一个管道。PipedInputStream应该与一个PipedOutputStream相连接,一个线程通过PipedOutputStream写入数据,通过与之相连接的PipedInputStream被另一个线程读取。管道的例子
下面这个简单的例子解释了如何讲一个PipedInputStream与一个PipedOutputStream联系起来。PipedOutputStream output = new PipedOutputStream();
PipedInputStream input = new PipedOutputStream(output);
你也可以用connect()方法将两个管道流联系起来,PipedInputStream和PipedOutputStream均有connect()方法来连接彼此。
管道及线程
请记住,当使用两个相连接的管道流的时候,将一个流传递给另一个,另一个传递给第三个……访问管道流的read()方法和write()方法是阻塞的,这意味着如果你试图在同一个线程读或者写,这将导致线程死锁。相关文章推荐
- Java 输入输出流教程(一)(原作:Java IO Tutorial by Jakob Jenkov)
- Java 输入输出流教程(二)——【文件】(原作:Java IO Tutorial by Jakob Jenkov)
- 字符串输入输出流:java.io.BufferedReader和java.io.BufferedWriter
- Java-IO之字符输入输出流(Reader和Writer)
- Java Io 流(输入输出流)
- 【java IO】使用Java输入输出流 读取txt文件内数据,进行拼接后写入到另一个文件中
- Java IO输入输出流 笔记
- (Java复习与IO输入输出流)
- Java IO 输入输出流的理解 1
- Java IO 输入输出流 详解 (一)***
- Java-IO之字符输入输出流(Reader和Writer)
- java io 输入输出流
- Java-IO-输入输出流
- Java基础-IO-字节输入输出流(笔记)
- java Io总结一(输入输出流)
- Java-IO 输入输出流详解
- Java学习从菜鸟变大鸟之二 输入输出流(IO)
- Java IO(输入输出流)
- [置顶] Java基础入门-IO输入输出流
- java io输入输出流详解