gpt4 book ai didi

java - 确定应用程序是通过 Java 还是 Javaw 启动的?

转载 作者:行者123 更新时间:2023-11-30 04:40:06 27 4
gpt4 key购买 nike

我有一个 GUI 程序,默认情况下使用使用 Launch4j 创建的启动包装器通过 javaw.exe 执行。

该程序也可以从命令行执行,然后将输出打印到控制台。

如何检测控制台是否可见,从而使我通过 System.out.println() 输出的文本可见?

据我了解,这取决于程序是通过 Javaw/wrapper 启动还是直接由 java -jar myprog.jar 启动。有没有办法区分程序内的两种启动方法?

最佳答案

如果 System.console() 返回 null,则没有控制台,当您使用 javaw 而不是 启动程序时会发生这种情况>java.示例:

import javax.swing.JOptionPane;

public class Example {
public static void main(String[] args) {
if (System.console() != null) {
System.out.println("Hello on the console");
} else {
JOptionPane.showMessageDialog(null, "Hello, there's no console");
}
}
}

尝试编译它,然后使用 java Examplejavaw Example 启动它。

关于java - 确定应用程序是通过 Java 还是 Javaw 启动的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12494649/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com