[英]Changing Standard output in Java
是否有任何方法可以更改标准输出流,以便将其写入某个文件而不是Java中的控制台?
使用System.setOut(PrintStream out);
你可以做一些事情。 要直接回答你的问题,你会做类似的事情
System.setOut(new FileOutputStream(myFile));
但是,我会使用日志记录框架来写入文件。 首先,在某处初始化您的记录器:
FileHandler handler = new FileHandler("mylogfile.txt", true); // True to append to file, false to overwrite.
Logger logger = Logger.getLogger(getClass().getName());
logger.addHandler(handler);
然后,您可以使用每次要打印时调用的方法,例如:
public void output(String message, boolean toConsole, boolean toFile) {
if (toConsole) {
System.out.println(message);
}
if (toFile) {
m_logger.info(message); // Your instance variable of Logger.
}
}
你可以随心所欲地做到这一点,但这就是一个例子。 您可以将toConsole和toFile简单地设置为静态布尔值,而不是为每个方法调用指定。
System.setOut(new PrintStream(file))
但是使用日志记录方法是一种更好的方法。
以下适用于我。
System.setOut(new PrintStream(new FileOutputStream(you file name)));
看看System.setOut 。
您可以使用System.setOut()
来执行此操作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.