管道输入输出流

import java.io.FileInputStream;

import java.io.FileOutputStream;
import
java.io.IOException;
import java.io.PipedInputStream;
import
java.io.PipedOutputStream;

import javax.swing.tree.FixedHeightLayoutCache;

//管道输入输出流:将源文件的内容通过管道送到目的文件-有6个基本类,源文件类,目的文件类,读管道,写管道,读线程,写线程。

//源文件读取自己的数据

//读线程获得源文件读取的数据,打印且写管道将其写入管道中。

//读管道读取管道中的数据,目的文件将其写入目的文件中。
public class demo3 {

/**
* @param args
*/
demo3()
{
try {
String
readPathString="E:\\test.txt";
String
writePathString="E:\\out4.txt";
PipedOutputStream p1=new
PipedOutputStream();
PipedInputStream p2=new
PipedInputStream();
p1.connect(p2);

Sender sender1=new
Sender(readPathString, p1);
Receiver receiver1=new
Receiver(writePathString,
p2);
sender1.start();
receiver1.start();

} catch (Exception
e) {
System.out.print(e.getMessage());
e.printStackTrace();// TODO:
handle exception
}
}
public static void main(String[] args)
{
// TODO Auto-generated method stub

demo3 a=new demo3();

}

}
//读线程,源地址
class Sender extends Thread
{
String
readPathString;
PipedOutputStream p1;
Sender(String
readPathString,PipedOutputStream
p1)
{
this.readPathString=readPathString;
this.p1=p1;
}
public
void run() {
try
{
FileInputStream fis=new
FileInputStream(readPathString);
int
data=fis.read();
while(data!=-1)
{
Thread.sleep(5);
System.out.print((char)data);
p1.write(data);
data=fis.read();
}
fis.close();
p1.close();
}
catch(Exception
e)
{
System.out.println(e.getMessage());
e.printStackTrace();
}
}

}
//写线程,目的地址
class
Receiver extends Thread
{
String writePath;
PipedInputStream p2=new
PipedInputStream();

public Receiver(String writePath,PipedInputStream
p2)
{
this.writePath=writePath;
this.p2=p2;
}
public void
run()
{
try
{
FileOutputStream pos=new
FileOutputStream(writePath);
int
data=p2.read();
while(data!=-1)
{
Thread.sleep(5);
System.out.print((char)data);
pos.write(data);
data=p2.read();
}
p2.close();
pos.close();
}
catch
(Exception
e)
{

System.out.print(e.getMessage());
e.printStackTrace();//
TODO: handle exception
}
}
}

管道输入输出流,布布扣,bubuko.com

时间: 2024-10-13 11:29:54

管道输入输出流的相关文章

输入输出流

1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO. 流IO的好处是简单易用,缺点是效率较低.块IO效率很高,但编程比较

Java输入输出流

1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO. 流IO的好处是简单易用,缺点是效率较低.块IO效率很高,但编程比较

java I/O系统(输入输出流)

java I/O系统(输入输出流) 流的特性1.含有流质(数据)2.它有方向(读或写) 流的分类: 输入流和输出流 输入流:io包中的输入流继承自抽象类InputStream或Reader 输出流:io包中的输入流继承自抽象类OutputStream或Writer 字节流和字符流 注:1字节代表1个英文单词存储的数据大小,一个汉字占两字节 1.字节流:以byte为最小单位传送,继承自抽象类InputStream或OutputStream,用于处理二进制文件,InputStream为读取字节流的父

java输入输出流总结 转载

一.基本概念 1.1 什么是IO?     IO(Input/Output)是计算机输入/输出的接口.Java中I/O操作主要是指使用Java进行输入,输出操作.     Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.      任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法.Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO.    

【转载】Java输入输出流-IO

转自:http://blog.csdn.net/hguisu/article/details/7418161 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核

Java输入输出流的使用详细介绍

出处:http://www.jb51.net/article/36138.htm 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用

Java 输入输出流

1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO. 流IO的好处是简单易用,缺点是效率较低.块IO效率很高,但编程比较

[转]Java输入输出流的使用详细介绍

出处:http://www.jb51.net/article/36138.htm 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用

Java输入输出流(2)

6. Java.IO流类库 1. io流的四个基本类 java.io包中包括了流式I/O所须要的全部类. 在java.io包中有四个基本类:InputStream.OutputStream及Reader.Writer类.它们分别处理字节流和字符流: 基本数据流的I/O 输入/输出 字节流 字符流 输入流 Inputstream Reader 输出流 OutputStream Writer      Java中其它多种多样变化的流均是由它们派生出来的: JDK1.4版本号開始引入了新I/O类库.它