心法领悟021:重定向标准错误输出流。
参考本实例的做法,可以把err标准错误输出流也重定向到其他位置。例如,可以定义在与标准输出流相同的文件中,但是在输出错误信息时,添加“警告:”字样,可以为日志添加级别。
import java.io.FileNotFoundException;
import java.io.PrintStream;
public class RedirectOutputStream {
public static void main(String[] args) {
try {
PrintStream out = System.out;// 保存原输出流
PrintStream ps=new PrintStream("./log.txt");// 创建文件输出流
System.setOut(ps);// 设置使用新的输出流
int age=18;// 定义整形变量
System.out.println("年龄变量成功定义,初始值为18");
String sex="女";// 定义字符串变量
System.out.println("性别变量成功定义,初始值为女");
// 整合两个变量
String info="这是个"+sex+"孩子,应该有"+age+"岁了。";
System.out.println("整合两个变量为info字符串变量,其结果是:"+info);
System.setOut(out);// 恢复原有输出流
System.out.println("程序运行完毕,请查看日志文件。");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
//console
程序运行完毕,请查看日志文件。
//log.txt
年龄变量成功定义,初始值为18
性别变量成功定义,初始值为女
整合两个变量为info字符串变量,其结果是:这是个女孩子,应该有18岁了。