java的system.out输出保存到特定文件中
String path = "G:/2/3/SystemOut.log";
FileOutputStream puts = new FileOutputStream(path,true);
PrintStream out = new PrintStream(puts);
System.setOut(out);
//之后的输出都是拼接在文件SystemOut.log中
原因:
1.System类中有一个方法setOut(PrintStream ps)用于控制输出流的
系统输出就按照ps流输出
2.PrintStream类控制输出位置:
多种构造方法:
2.1 ps = new PrintStream(pathfile);//输出保存到文件pathfile中(pathfile=路径+文件全程(包括后缀名))
该方法中System.setOut(ps)后输出每次线程重复一次就会覆盖一次,单线程会输出到同一个文件。(文件内容覆盖)
2.2 ps = new PrintStream(new FileOutputStream(pathfile,true));
该方法中System.setOut(ps)后输出都会追加到文件中,不会进行内容覆盖,只是进行内容追加。对此线程的输出也是追加。
new FileOutputStream(pathfile,true)//控制对文件内容是进行追加还是还是进行覆盖。
//true:追加;false:覆盖