Java-PipedOutputStream和PipedInputStream类
2016-07-10 20:36
519 查看
PipedOutputStream和PipedInputStream用于在应用程序中创建管道通信
实例:
[java] view plain copy print?import java.io.*;
public class PipedStreamTest {
public static void main(String [] args) {
Sender sender = new Sender();
Receiver receiver = new Receiver();
PipedOutputStream outStream = sender.getOutStream();
PipedInputStream inStream = receiver.getInStream();
try {
//inStream.connect(outStream); // 与下一句一样
outStream.connect(inStream);
} catch (Exception e) {
e.printStackTrace();
}
sender.start();
receiver.start();
}
}
class Sender extends Thread {
private PipedOutputStream outStream = new PipedOutputStream();
public PipedOutputStream getOutStream() {
return outStream;
}
public void run() {
String info = ”hello, receiver”;
try {
outStream.write(info.getBytes());
outStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Receiver extends Thread {
private PipedInputStream inStream = new PipedInputStream();
public PipedInputStream getInStream() {
return inStream;
}
public void run() {
byte[] buf = new byte[1024];
try {
int len = inStream.read(buf);
System.out.println(”receive message from sender : ” + new String(buf, 0, len));
inStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201701/9cc493f1e15b23d0f4eaea0d0f8b35d0.png)
实例:
[java] view plain copy print?import java.io.*;
public class PipedStreamTest {
public static void main(String [] args) {
Sender sender = new Sender();
Receiver receiver = new Receiver();
PipedOutputStream outStream = sender.getOutStream();
PipedInputStream inStream = receiver.getInStream();
try {
//inStream.connect(outStream); // 与下一句一样
outStream.connect(inStream);
} catch (Exception e) {
e.printStackTrace();
}
sender.start();
receiver.start();
}
}
class Sender extends Thread {
private PipedOutputStream outStream = new PipedOutputStream();
public PipedOutputStream getOutStream() {
return outStream;
}
public void run() {
String info = ”hello, receiver”;
try {
outStream.write(info.getBytes());
outStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Receiver extends Thread {
private PipedInputStream inStream = new PipedInputStream();
public PipedInputStream getInStream() {
return inStream;
}
public void run() {
byte[] buf = new byte[1024];
try {
int len = inStream.read(buf);
System.out.println(”receive message from sender : ” + new String(buf, 0, len));
inStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201701/9cc493f1e15b23d0f4eaea0d0f8b35d0.png)
import java.io.*; public class PipedStreamTest { public static void main(String [] args) { Sender sender = new Sender(); Receiver receiver = new Receiver(); PipedOutputStream outStream = sender.getOutStream(); PipedInputStream inStream = receiver.getInStream(); try { //inStream.connect(outStream); // 与下一句一样 outStream.connect(inStream); } catch (Exception e) { e.printStackTrace(); } sender.start(); receiver.start(); } } class Sender extends Thread { private PipedOutputStream outStream = new PipedOutputStream(); public PipedOutputStream getOutStream() { return outStream; } public void run() { String info = "hello, receiver"; try { outStream.write(info.getBytes()); outStream.close(); } catch (Exception e) { e.printStackTrace(); } } } class Receiver extends Thread { private PipedInputStream inStream = new PipedInputStream(); public PipedInputStream getInStream() { return inStream; } public void run() { byte[] buf = new byte[1024]; try { int len = inStream.read(buf); System.out.println("receive message from sender : " + new String(buf, 0, len)); inStream.close(); } catch (Exception e) { e.printStackTrace(); } } }
相关文章推荐
- java学习问题1
- Java线程(学习整理)--4---一个简单的生产者、消费者模型
- Java 数据类型的转换
- Java线程(学习整理)--3--简单的死锁例子
- Java实现堆排序算法
- Spring Assert断言工具类
- java生成缩略图
- Spring (一)
- Java线程(学习整理)--2---加入另一个线程join
- Java IO和NIO文章目录
- SpringMVC中使用Interceptor拦截器
- Java IO最详解
- Java 编程思想——第5章——this 关键字
- Eclipse *版本
- Spring Mvc那点事---(26)Spring Mvc基于Schema的AOP实现
- try catch 对性能影响
- Eclipse *安装
- Spring:传统的XML文件装配Bean
- Eclipse *下载
- Java线程(学习整理)--1--守护线程