PrintStream

PrintStream在OutputStream基础之上提供了增强的功能,即可以方便地输出各种类型的数据(而不仅限于byte型)的格式化表示形式。PrintStream的方法从不抛出IOEceptin

 

PrintWriter

PrintWriter提供了PrintStream的所有打印方法,其方法也从不抛出IOException。

与PrintStream的区别:作为处理流使用时,PrintStream只能封装OutputStream类型的字节流,而PrintWriter既可以封装OutputStream类型的字节流,还能够封装Writer类型的字符输出流并增强其功能。

 

 

实例:复制文件。

[java] view plaincopy

  1. import java.io.*;  

  2. class IODemo  

  3. {  

  4.     public static void main(String[] args)   

  5.     {  

  6.         try  

  7.         {  

  8.         FileReader fr=new FileReader("a.txt");  

  9.         BufferedReader br=new BufferedReader(fr);  

  10.         FileWriter fw=new FileWriter("33.txt");  

  11.         PrintWriter pw=new PrintWriter(fw);  

  12.   

  13.         String s=br.readLine();  

  14.             while(null!=s)  

  15.             {  

  16.                 //PrintWriter的println方法 相当于  

  17.                 //BufferedWriter 的write() + newLine()  

  18.                 pw.println(s);  

  19.                 s=br.readLine();  

  20.             }  

  21.   

  22.             br.close();  

  23.             pw.close();  

  24.         }  

  25.         catch (IOException e)  

  26.         {  

  27.             e.printStackTrace();  

  28.         }  

  29.           

  30.     }  

  31. }  


如果将上面的PrintWriter换成PrintStream会报错,因为PrintStream只能封装字节流,不能封装Writer类对象。

 

注:如果对输出流的格式有特殊要求,使用 PrintStream, PrintWriter显然会比较方便,详细可以产看JAVA API文档。