Java中重定向输出流实现用文件记录程序日志
System中的out,error都是final类型的,不能做改动。但通过setOut()可以设置新的输出流,从而实现写日志的功能。
importjava.io.PrintStream;
importjava.io.FileNotFoundException;
publicclassRedirectOutputStream{
publicstaticvoidmain(Stringarg[]){
try{
PrintStreamout=System.out;//保留原输出流
PrintStreamps=newPrintStream("./log.txt");//创建文件输出流
System.setOut(ps);//设置使用新的输出流
intage=18;
System.out.println("年龄变量成功定义,初始值为:18");
Stringsex="女";
System.out.println("性别变量成功定义,初始值为:女");
Stringinfo="这个是"+sex+"孩子,应该有"+age+"岁";
System.out.println("整合两个变量为info字符串变量,其结果为"+info);
System.setOut(out);//恢复原有输出流
System.out.println("程序运行完毕,请查看日志文件。");
}
catch(FileNotFoundExceptione){
e.printStackTrace();}
}
}
日志如下:
年龄变量成功定义,初始值为:18
性别变量成功定义,初始值为:女
整合两个变量为info字符串变量,其结果为这个是女孩子,应该有18岁
总结:
该方法中保存了System类的out成员变量为临时变量,然后创建新的文件输出流,并把这个输出流设置为System类的新是输出流。并将持续的调试信息输出到日志中去。主要方法:
1.setOut()方法:重新分配System类的标准输出流。
2.setErr()方法: 重新分配System类的标准错误输出流。
3.setIn()方法: 重新分配System类的标准输入流。
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短