如何检查应用程序是否在命令行上运行?

How to check if application runs on the command line?

我想编写一个 Java 应用程序,如果从 GUI 启动则打开 GUI,如果从命令行启动则解析命令行参数。

有什么方法可以检查应用程序是否从 GUI 启动?

System class returns Console 对象的 console() 方法,如果存在控制台设备,则 returns null。表达式 args.length > 0 检查字符串数组 args 是否有任何元素。

 public static void main(String[] args) {
  Console console = System.console();
   if (console != null || args.length > 0) {
    // The app was started from a terminal
   }
 }