Java 将控制台输出写入文件并同时写入控制台
我想知道是否可以让java将所有控制台输出写入txt文件,而不必在控制台上禁用它Java 将控制台输出写入文件并同时写入控制台,java,stream,console,system,Java,Stream,Console,System,我想知道是否可以让java将所有控制台输出写入txt文件,而不必在控制台上禁用它 PrintStream o = new PrintStream(new File("A.txt")); PrintStream console = System.out; System.setOut(o); System.setOut(console); 所以我需要两个命令都被执行由于我的声誉,我无法发表评论。但下面的答案将解决您的问题:是时候使用日志库了?以log4j的问题为例,我每次都必须输入logger.i
PrintStream o = new PrintStream(new File("A.txt"));
PrintStream console = System.out;
System.setOut(o);
System.setOut(console);
所以我需要两个命令都被执行由于我的声誉,我无法发表评论。但下面的答案将解决您的问题:是时候使用日志库了?以log4j的问题为例,我每次都必须输入logger.info来记录,我只想像stream一样自动完成,因为我的程序太大了,这个问题在中得到了回答。除了使用这里提到的自定义
TeePrintStream
之外,您还可以使用apachecommons'。请记住,如果您由于某种原因无法访问该文件,您可能根本没有任何输出。