有一个Java命令可以将标准输出重定向到文件或返回到 标准输出:
PrintStream stdout = System.out;
System.setOut(new PrintStream(logFile));
// ...
System.setOut(stdout);
但我需要同时拥有它们。是否可以在Java中将标准输出设置为文件和标准输出?
答案 0 :(得分:3)
我不知道有一个标准类这样做,但它非常简单:
stdout
PrintStream stdout
传递给您的新DoublePrintingPrintStream,然后使用setOut()
来使用“双打印”流或者,有tee之类的工具可以为您做到这一点。因此,不要用它来打扰你的Java代码 - 只需在外面读取stdout,打印到控制台并写入文件。
答案 1 :(得分:-1)
使用记录器。如果需要,只需输入布局。 然后,您甚至可以在代码中添加 ConsoleAppender 和 FileAppender 。
更好的代码风格。那个“logFile”正在讲述。