【发布时间】:2020-04-10 22:05:05
【问题描述】:
我想知道我是否可以让 java 将所有控制台输出写入 txt 文件而不在控制台上禁用它
PrintStream o = new PrintStream(new File("A.txt"));
PrintStream console = System.out;
System.setOut(o);
System.setOut(console);
所以我需要执行两个命令
【问题讨论】:
-
是时候使用日志库了吗?看看这个,例如:*.com/questions/3382985/…
-
log4j 的问题是我每次都必须输入 logger.info 来记录,我只想像流一样自动完成,因为我的程序太大了
-
此问题已在this answer 中得到解答。除了使用那里提到的自定义
TeePrintStream,您还可以使用 Apache Commons 的 TeeOutputStream。 -
请记住,如果由于某种原因您无法访问该文件,您可能根本不会有任何输出。
标签: java stream console system