📄 有两个线程sender和receiver,sender线程向输出管道out发送数据“hello receiver!”.txt
字号:
import java.io.*;
class Sender extends Thread //发送线程
{
private PipedOutputStream out = new PipedOutputStream();
public PipedOutputStream getOutputStream(){
return out;
}
public void run() {
try{
String str = new String("Hello,receiver!");
for(int i=0;i<str.length();i++)
out.write(str.charAt(i)); //依次写入字符串str
out.write('.'); //写入结束标记
out.close();
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}
class Receiver extends Thread
{
private PipedInputStream in = new PipedInputStream();
public PipedInputStream getInputStream(){
return in;
}
public void run(){
int b;
try{
while((b=in.read())!='.') //判断是否为结束标记
System.out.print((char)b); //输出接收字符
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}
public class PipedStreamDemo
{
public static void main(String[] args) throws Exception{
Sender s = new Sender();
Receiver r = new Receiver();
PipedOutputStream out = s.getOutputStream();
PipedInputStream in = r.getInputStream();
in.connect(out); //建立连接
s.start();
r.start();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -