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


    


应用:收集异常的日志信息,打印到文件

package com.cn.printStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
/**
* Author:Liu Zhiyong(QQ:1012421396)
* Version:Version_1
* Date:2016年8月1日15:51:31
* Desc:
打印流(PrintStream): 可以打印任意类型的数据,而且打印数据之前都会先把数据转换成字符串再进行打印。

应用:收集异常的日志信息,打印到文件
*/
public class Demo1 {
public static void main(String[] args) throws IOException {
File file = new File("src/com/cn/printStream/a.txt");
/* FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(97);
fileOutputStream.write("97".getBytes());
fileOutputStream.close();*/

PrintStream printStream = new PrintStream(file);
printStream.println(97);
printStream.print('a');
printStream.print("请叫我木丁西");
printStream.println(true);

//打印对象
User user = new User("木丁西", 12);
printStream.println(user.toString());

/* //默认标准的输出流就是向控制台输出
System.setOut(printStream);
System.out.println("hahha");
System.out.println("2222");
System.out.println("什么鬼");*/
System.setOut(printStream);
//收集异常的日志信息
file = new File("src/com/cn/printStream/2016年8月2日.log");
FileOutputStream fileOutputStream = new FileOutputStream(file, true);
printStream = new PrintStream(fileOutputStream);
try {
int c = 4/0;
System.out.println("c=" + c);
/*int[] arr = null;
System.out.println(arr.length);*/
} catch (Exception e) {
e.printStackTrace(printStream);
}

printStream.close();
}
}
class User{
String name;
int age;
public User(String name, int age) {
super();
this.name = name;
this.age = age;
}

@Override
public String toString() {
// TODO Auto-generated method stub
return this.name + ":" + this.age;
}