PrintStream
PrintStream在OutputStream基础之上提供了增强的功能,即可以方便地输出各种类型的数据(而不仅限于byte型)的格式化表示形式。PrintStream的方法从不抛出IOEceptin
PrintWriter
PrintWriter提供了PrintStream的所有打印方法,其方法也从不抛出IOException。
与PrintStream的区别:作为处理流使用时,PrintStream只能封装OutputStream类型的字节流,而PrintWriter既可以封装OutputStream类型的字节流,还能够封装Writer类型的字符输出流并增强其功能。
实例:复制文件。
- 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文档。