📄 pipediodemo.java
字号:
//【代码7-4-1】
//PipedIODemo.java
import java.io.*;
class PipedIODemo
{
public static void main(String args[])
{
try
{
//创建管道输入流
PipedInputStream pin = new PipedInputStream();
//创建管道输出流
PipedOutputStream pout = new PipedOutputStream();
//输入与输出流相连
pout.connect( pin);
//启动管道输入线程
new PipeSender(pout,"sendString").start();
//启动管道输出线程
new PipeReciver(pin,"receiveString").start();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
//管道输入类
class PipeSender extends Thread
{
PipedOutputStream pout;
File fFile;
//构造函数
PipeSender(PipedOutputStream out,String file)
{
fFile = file;
pout = out;
}
public void run()
{
//创建输入文件对象
FileInputStream fin = new FileInputStream(fFile);
int n;
try
{
//读文件
while((n=fin.read())!=-1)
{
//向管道中写入
pout.write(n);
}
pout.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
//管道接收类
class PipeReciver extends Thread
{
PipedInputStream pin;
File fFile;
//构造方法
PipeReciver (PipedInputStream in,String file)
{
fFile = file;
pin = in;
}
public void run()
{
//输出文件对象
FileOutputStream fout = new FileOutputStream(fFile);
int n;
try
{
//从管道中读数据
while((n=pin.read())!=-1)
{
//向文件输出对象中写数据
fout.write(n);
}
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -