IO(五)----打印流

打印流(PrintStream和PrintWriter)  打印流可以打印任意类型的数据,而且打印数据之前都会先把数据转换成字符串再进行打印。

PrintStream:打印字节流。System.out对应的类型就是PrintStream。

print 方法和write方法的却别在于,print提供自动刷新。

常用方法:

1、构造方法

PrintStream(File file) 创建具有指定文件且不带自动行刷新的新打印流。

PrintStream(String fileName) 创建具有指定文件名称且不带自动行刷新的新打印流。

PrintStream(OutputStream out) 创建新的打印流。2、打印方法:

void print(数据类型 变量) 打印变量的值。 如果打印自定义对象,打印出来的内容是toString方法中返回的字符串。

PrintWriter:打印字符流。

常用方法

1、构造方法

PrintWriter(File file) 使用指定文件创建不具有自动行刷新的新 PrintWriter。

PrintWriter(OutputStream out) 根据现有的 OutputStream 创建不带自动行刷新的新 PrintWriter。

2、打印方法:

void print(数据类型 变量) 打印变量的值。 如果打印自定义对象,打印出来的内容是toString方法中返回的字符串。

应用场景:

1、把控制台的信息输出到指定的文件中。

2、收集异常的日志信息到指定文件。

 1 public class Demo6 {
 2     
 3     public static void main(String[] args) throws IOException {
 4         //打印流可以打印任何类型的数据,而且打印数据之前都会先把数据转换成字符串再进行打印。
 5         File file = new  File("F:\a.txt");
 6         //创建一个打印流
 7         PrintStream printStream = new PrintStream(file);
 8         /*
 9         printStream.println(97);
10         printStream.println(3.14);
11         printStream.println('a');
12         printStream.println(true);
13         Animal a = new Animal("老鼠", "黑色");
14         printStream.println(a);
15         
16         
17         //默认标准的输出流就是向控制台输出的,
18         System.setOut(printStream); //重新设置了标准的输出流对象
19         System.out.println("哈哈,猜猜我在哪里!!");
20         */
21         
22         //收集异常的日志信息。
23         File logFile = new File("F:\2015年1月8日.log");
24         PrintStream logPrintStream = new PrintStream( new FileOutputStream(logFile,true) );
25         try{
26             int c = 4/0;
27             System.out.println("c="+c);
28             int[] arr = null;
29             System.out.println(arr.length);
30         }catch(Exception e){
31             e.printStackTrace(logPrintStream);
32         }
33     }
34 }
View Code
原文地址:https://www.cnblogs.com/nicker/p/6254102.html