如何将java的输出保存到文件中作为程序日志
在java的编程中,有时需要将程序的执行状态和日志进行记录,要是直接保存的内存中那是不可能的,往往需要将该信息保存到相应的文件中,下面小编给出相关的实例,采用out成员的重定义来实现的,保存到txt文档中。
1.前期工作
- 01
1.打开IED: 打开eclipse软件,小编采用的是neon版本的,如图所示;
- 02
2.建立一个java工程: 具体可参见“”; 操作如下: 单击“file”-“new”-“java project”,会跳出来一个跳出的界面;然后,在工程菜单中选中工程,单击鼠标右键出出来菜单,依次选中“new”-“class”;
2.编程步骤
- 01
1.建立模型: 在java文件编辑界面中,输入一下代码来重定向输出流,由于输出流会抛出一个异常,所有就采用了try--catch--结构; public static void main(String[] args) { try{ PrintStream mytxt=new PrintStream("./log.txt"); }catch(FileNotFoundException e){ e.printStackTrace(); } }
- 02
2.重定向println(); 输入第一条指令对原有的输出流方向进行缓存,接着采用system中的setout方法进行重定向;代码如下: PrintStream out=System.out; System.setOut(mytxt);
- 03
3.保存日记: 采用Date方法对日期进行读取,读取后保存到文件中,该命令与我们常规的输出指令一致; System.out.println("文档执行的日期是:"+new Date());
- 04
4.界面打印: 为了显示重定向的效果,本例将输出重定位到原来情况; System.setOut(out); System.out.println("日期保存完毕。");
- 05
5:总体代码: 为了便于大家的理解,将这个main方法的整个代码进行粘贴了下来; public static void main(String[] args) { try{ PrintStream mytxt=new PrintStream("./log.txt"); PrintStream out=System.out; System.setOut(mytxt); System.out.println("文档执行的日期是:"+new Date()); System.setOut(out); System.out.println("日期保存完毕。"); }catch(FileNotFoundException e){ e.printStackTrace(); } }
3.查看效果
- 01
1.编译运行: 单击“编译并运行”按钮,执行的效果如下,可以看到,我们的界面中仅仅显示了恢复重定向以后的结果,而之前的日期没有打印下来;
- 02
2.找到文件: 找到我们的日记文件保存文件位置,如图所示,在工程文件夹下,可以看到我们的保存的文件了;
- 03
3.查看日志: 如图所示,我们将自己的文件打开,文件中仅仅保存了我们的日期,而没有打印出来恢复重定向以后的语句。