您的位置:首页 > 编程语言 > Java开发

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();
}
}
}


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();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: