PrintStream,PrintWriter
package com.lxb.test;
import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.io.PrintWriter;
public class PrintDemo {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
/**
* PrintStream
* 1:提供了打印方法可以对多种数据类型值进行打印,并保持数据的表示形式
* 2:不抛IO异常
*
* 构造函数,接收三种类型的值
* 1:字符串路径
* 2:File对象
* 3:字节输出流
*/
PrintStream out=new PrintStream("e:\\print.txt");
out.write(97);//打印a,二进制只写最低八位
// out.print(97);//打印97,将97先变成字符串保持原样将数据打印到目的地
out.close();
/**
* PrintWriter 字符打印流
* 构造函数参数
* 1:字符串路径
* 2:File对象
* 3:字节输出流
* 4:字符输出流
*/
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
PrintWriter out2=new PrintWriter(new FileWriter("e:\\demo.txt"));
String line=null;
while((line=bufr.readLine())!=null) {
if("over".equals(line)) {
break;
}
out2.println(line);
out2.flush();
}
out2.close();
bufr.close();
}
}
SequencelInputStream
package com.lxb.test;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
public class SequencelInputStreamDemo {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
/**
* 将1.txt,2.txt,3.txt文件中的数据合并到一个文件中
*/
List<FileInputStream> v=new ArrayList<FileInputStream>();
v.add(new FileInputStream("e:\\1.txt"));
v.add(new FileInputStream("e:\\2.txt"));
v.add(new FileInputStream("e:\\3.txt"));
Enumeration<FileInputStream> en=Collections.enumeration(v);
// final Iterator<FileInputStream> iterator=v.iterator();
SequenceInputStream sis=new SequenceInputStream(en);
FileOutputStream fos=new FileOutputStream("e:\\14.txt");
byte[] buf=new byte[1024];
int len=0;
while((len=sis.read(buf))!=-1) {
fos.write(buf,0,len);
}
fos.close();
sis.close();
}
}