Fra*_*ani 4 java console jar executable-jar system.out
我注意到,任何System.out.println()未通过命令行启动的JAR文件的调用(即用户双击启动的Runnable JAR文件)都不会打开控制台。
经过研究,我在网站上找到了多个答案:
这样做没有问题。但是您希望在哪里看到输出?
可执行jar中的“ System.out.println()”会怎样?
如果您以某种不附加控制台的方式运行代码(例如
javaw在Windows上,这是与可执行jar文件关联的默认程序),则输出将无处可去。它不会引起任何错误-文本只会丢失。
据我了解,System.out并不代表控制台。它确实表示可以由任何需要显示的数据处理的数据。我对吗?
System.out什么?现代操作系统中的进程(就此而言,是几个较旧的操作系统)具有与之关联的三个标准“流”:
stdin)stdout)stderr)它们被统称为(和创造性地)标准流。
System.in,System.out和System.err是默认情况下Java写入这些流的标准机制。
从命令行调用的程序在命令行中的击键转到的环境中运行stdin,二者的输出stdout和stderr在控制台中显示为文本。可以将它们重定向到文件等。
通过GUI启动的程序通常不会将这些流连接到您可以看到的任何内容。
我说的“默认”上面,因为你可以使用电话System,其中那些流点变化(他们有创意的名字一样setIn,setOut和setErr)。
如何从用户双击启动的Runnable JAR文件中打开控制台?
那里有一个错误的关联:jar是可运行的,这不是为什么您看不到流的事实。如果在命令行中运行可运行的jar,则将看到其标准输出。
如果在不将其与某种类型的控制台关联的情况下运行它,是否可以看到该输出,将取决于您如何运行它以及可能如何编写它。许多GUI框架都会将标准重定向到err并返回到日志文件。或者该应用程序可能会提供调试选项。那里没有一个标准答案(没有双关语)。
| 归档时间: |
|
| 查看次数: |
485 次 |
| 最近记录: |