PrintStream
PrintStream在OutputStream基础之上提供了增强的功能,即可以方便地输出各种类型的数据(而不仅限于byte型)的格式化表示形式。PrintStream的方法从不抛出IOEceptin
PrintWriter
PrintWriter提供了PrintStream的所有打印方法,其方法也从不抛出IOException。
与PrintStream的区别:作为处理流使用时,PrintStream只能封装OutputStream类型的字节流,而PrintWriter既可以封装OutputStream类型的字节流,还能够封装Writer类型的字符输出流并增强其功能。
实例:复制文件。
[java] view plaincopy
import java.io.*;
class IODemo
{
public static void main(String[] args)
{
try
{
FileReader fr=new FileReader("a.txt");
BufferedReader br=new BufferedReader(fr);
FileWriter fw=new FileWriter("33.txt");
PrintWriter pw=new PrintWriter(fw);
String s=br.readLine();
while(null!=s)
{
//PrintWriter的println方法 相当于
//BufferedWriter 的write() + newLine()
pw.println(s);
s=br.readLine();
}
br.close();
pw.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
如果将上面的PrintWriter换成PrintStream会报错,因为PrintStream只能封装字节流,不能封装Writer类对象。
注:如果对输出流的格式有特殊要求,使用 PrintStream, PrintWriter显然会比较方便,详细可以产看JAVA API文档。