⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pipediodemo.java

📁 java2应用开发指南第一版
💻 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 + -