System.out何时不出现在Java控制台中?

时间:2013-08-06 07:39:21

标签: console java

我知道标准输出(System.out)的任何内容都会出现在Java控制台窗口中(启用它时)。我发现某处可能存在这样的情况:例如,从Swing应用程序尝试。是这样的吗?

基本上,我希望在控制台中看到标准输出的情况或设置是什么?例如,在JDK上运行的行为是否存在差异,而不是明确地在JRE上运行? javaw.exe的?

ps,我了解如何在Java设置中显示控制台,但我很好奇,因为我设法创建了一个应用程序,作为可执行jar运行,并没有启动控制台尽管在Windows 7上有一些调用System.out

5 个答案:

答案 0 :(得分:0)

在控制台中看不到System.out输出的唯一方法是调用方法System.setOut。调用此方法将输出重定向到图形化Java控制台,但我不知道除非您自愿这样做,否则将从Java控制台重定向到任何其他现实情况。

答案 1 :(得分:0)

根据终端设置,在发送换行符之前不会写入输出。因此,如果您执行System.out.print("test"),则可能不会立即显示。 在Windows上通常不是这种情况,但在Unix终端上这很常见。

答案 2 :(得分:0)

也许您使用javaw启动虚拟机,此版本不会显示控制台消息。您可以使用java启动虚拟机,它将显示控制台消息。

javaw适用于带有Windows的应用程序,java适用于控制台应用程序。

答案 3 :(得分:0)

同样的事发生在我身上。我无法在控制台上获得System.out.println或Logger.debug。

如果您正在使用Eclipse或其他任何项目,您可以在下面阅读。

解决方案:我意识到我没有将jar和一些java文件提交给网络上的SubVersioN。就这样。项目尚未编制。

答案 4 :(得分:-1)

我能想到的一种情况是调用System.setOut(null)(或System.setOut(any OutputStream other than System.out or System.err)),然后控制台(如果存在)将不会显示任何内容。