1、 Java 重定向输出流实现程序日志在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多 Java 学习,请登陆疯狂 java 培训官网。写该类的 main()主方法,在 该方法中保存 System 类的 out 成员变量为临时变量,然后创建一个新的文件输出流,并把这个 输出流设置为 System 类新的输出流。在程序关键位置输出调试信息,这些调试信息将通过新 的输出流保存到日志文件$。最后恢复原有输出流并输出程序运行结束信息。实现过程(1)在 Eclipse 中新建项目 013,在项目中创建 com.mingrisoft 包
2、。(2)在 com.mingrisoft 包中创建 RedirectOutputStream 类,编写该类的 main()主方法,在该方法中保存 System 类的 out 成员变量为临时变量,然后创建一个新的文件输出流,并把这个 输出流设置为 System 类新的输出流。在程序关键位置输出调试信息,这些调试信息将通过新 的输出流保存到日志文件$。最后恢复原有输出流并输出程序运行结束信息。关键代码如下:import java.io.FileNotFoundException;import java.io.PrintStream; ?public class RedirectOutputStre
3、am 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
4、=”这是个“+sex+“孩子,应该有“+age+“ 岁了。“;System.out.println(“整合两个变量为 info 字符串变量,其结果是: “+info);System.setOut(out); /恢复原有输出流System.out.println(”程序运行完毕,请查看日志文件。 “); catch (FileNotFoundException e) e.printStackTraceO;技术要点本实例的关键技术是调用了 System 类的 setOut()方法改变了输出流,System 类的 out、err 和 in 成员变量是 final 类型的,不能直接赋值,要通过相应的方
5、法来改变流,下面分别介绍改 变这 3 个成员变量的方法1. setOutO 方法该方法用于重新分配 System 类的标准输出流。方法的声明如下:public static void setOut(PrintStream out)参数说明out:新的 PrintStream 输出流对象。2.setErr() 方法该方法将重新分配 System 类的标准错误输出流。方法的声明如下: public static void setErr(PrintStream err)参数说明err:新的 PrintStream 输出流对象。3.setIn()方法该$法将裏新设置 System 类的 in 成员变量
6、,即标准输入流。方法的声明如下: public static void setIn(InputStream in)参数说明in:新的 InputStream 输入流对象。疯狂 Java 培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。技术知识沉淀深厚的老师,让你感受 Java 的魅力,激发你对于编程的热爱,让你在半年的时间内掌握 8-10 万的代码量,掌握 Java 核心技术,成为真正的技术高手;通过大量全真企业项目疯狂训练,迅速积累项目经验。让你成为技能型的现代化高端人才,迅速获得高薪就业!时间不等人,赶紧联系我们吧!疯狂 java 培训中心地址:广州天河区车陂沣宏大厦 3011。