可执行jar中的“ System.out.println()”会怎样?

假设我已经executable jar从使用过的代码中创建了

System.out.println()

当我们运行可执行jar时,没有控制台。那么,这条线怎么办?如何java处理这种情况?

:这种情况是我既不使用控制台运行jar也不以任何方式将任何控制台与其关联。

:使事情更清楚:

我知道什么都不会打印,因为没有控制台..!我想知道java在这种情况下如何处理这条线?生成可执行jar的字节码时,是否省略此行?还是在没有控制台的情况下忽略了这一行?还是什么

回答:

在可执行的jar文件中运行代码没有什么特别的。如果您从控制台运行它,例如,java -jar foo.jar输出仍将进入控制台。

如果您以某种不附加控制台的方式运行代码(例如,javaw在Windows上,这是与可执行jar文件关联的默认程序),则输出将无处可去。它不会引起任何错误-

文本只会丢失。

请注意,在这种情况下,如果你使用的System.console()不是, 将返回null。所以:

System.out.printf("Foo%n"); // No problem. Goes nowhere.

System.console().printf("Foo%n"); // Would throw a NullPointerException.

以上是 可执行jar中的“ System.out.println()”会怎样? 的全部内容, 来源链接: utcz.com/qa/415491.html

回到顶部