java中的管道_java 中的管道流是怎么用的?它与不同的输入输出流的区别在哪里?...

展开全部

在Java的IO流中有一种很非凡的流就是管道流类:PipedInputStream PipedOutputStream.这两个类的实例对象必须要通过e69da5e887aa62616964757a686964616f31333236373265connect方法连接.

其实看这么一个程序就知道了管道流类的使用方法.

//sender.java

import java.io.*;

import java.util.*;

public class sender extends Thread

{

PipedOutputStream out = new PipedOutputStream();

public PipedOutputStream getOut()

{

return out;

}

public void run()

{

String str = "Hello,receiver ! I`m sender\n";

try

{

out.write(str.getBytes());

out.close();

}

catch(Exception e)

{

e.printStackTrace();

}

}

}

//receiver.java

import java.io.*;

import java.util.*;

public class receiver extends Thread

{

PipedInputStream in = new PipedInputStream();

public PipedInputStream getIn()

{

return in;

}

public void run()

{

byte [] buf = new byte[1024];

try

{

int len = in.read(buf);

System.out.println("the following is from sender:\n"+new String(buf,0,len));

in.close();

}catch(Exception e)

{

e.printStackTrace();

}

}

}

//TestPiped.java

import java.io.*;

class TestPiped

{

public static void main(String [] args)

{

sender s = new sender();

receiver r = new receiver();

PipedOutputStream out = s.getOut();

PipedInputStream in = r.getIn();

try

{

in.connect(out);

s.start();

r.start();

}

catch(Exception e)

{

e.printStackTrace();

}

}

}

这个程序的功能是sender发送”Hello,receiver ! I`m sender”给receiver然后receiver接受后显示出来并且在前面加上”the following is from sender”的信息.要注重的就是PipedInputStream和PipedOutputStream分别用两个线程传送数据.

本回答由电脑网络分类达人 吕明推荐

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值