Min*_*mud 10 java executable-jar system.out
假设我已经使用executable jar过的代码创建了一个代码
System.out.println()
Run Code Online (Sandbox Code Playgroud)
当我们运行可执行jar时,没有控制台.那么,这条线会发生什么?如何java处理这种情况?
编辑01:
注意:情况是我不使用控制台运行jar或无论如何将任何控制台与它关联.
编辑02:让事情更清晰:
我知道没有任何东西可以在任何地方打印,因为没有控制台..!我想知道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.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15040 次 |
| 最近记录: |