在不了解操作系统的情况下从java启动命令行

在不了解操作系统的情况下从java启动命令行,java,Java,有没有一种方法可以在不知道操作系统的情况下从java启动命令行?例如,该方法将打开Linux操作系统的终端外壳,并打开Windows的命令行 我知道(通过查看前面的问题),我可以检查操作系统,然后打开适当的命令行,但是有没有办法从与操作系统无关的java方法打开命令行?命令: Runtime.getRuntime().exec("command") 将在所有台式机/笔记本电脑操作系统平台上工作 没有直接或统一的跨平台方法。你能做到的一个方法是 确定操作系统(使用System.getProper

有没有一种方法可以在不知道操作系统的情况下从java启动命令行?例如,该方法将打开Linux操作系统的终端外壳,并打开Windows的命令行

我知道(通过查看前面的问题),我可以检查操作系统,然后打开适当的命令行,但是有没有办法从与操作系统无关的java方法打开命令行?

命令:

Runtime.getRuntime().exec("command")

将在所有台式机/笔记本电脑操作系统平台上工作

没有直接或统一的跨平台方法。你能做到的一个方法是

  • 确定操作系统(使用
    System.getProperty(“OS.name”)
  • 然后根据操作系统,执行特定于操作系统的命令 例如:(代码段取自)

    请查找不同操作系统的相关代码


    注意:这只是一个代码片段。它不会按原样编译

    一旦Java安装到任何操作系统上,您所要做的就是使用它创建您自己的程序。Windows中的命令行或Linux中的终端是操作系统的属性


    因此,即使Java中有直接打开终端的API,该方法也会在内部检查操作系统。

    您可以在系统上设置一个环境变量,然后使用该变量打开命令行。您所说的“命令”是什么意思?它是占位符还是“命令”实际上是命令?
               String OS = System.getProperty("os.name").toLowerCase();
    
            if (isWindows(OS)) {
                String path = "c:\\";
                Runtime.getRuntime().exec(new String[] { "cmd.exe", "/C", "\"start; cd "+path+"\"" });;
            } else if (isMac(OS)) {
                //Open Mac Prompt
            } else if (isUnix(OS)) {
                //Open UnixPrompt
            } else if (isSolaris(OS)) {
                //Open Solaris Prompt
            } else {
                System.out.println("Your OS is not support!!");
            }
    
    public static boolean isWindows(String OS) {
    
            return (OS.indexOf("win") >= 0);
    
        }
    
        public static boolean isMac(String OS) {
    
            return (OS.indexOf("mac") >= 0);
    
        }
    
        public static boolean isUnix(String OS) {
    
            return (OS.indexOf("nix") >= 0 || OS.indexOf("nux") >= 0 || OS.indexOf("aix") > 0 );
    
        }
    
        public static boolean isSolaris(String OS) {
    
            return (OS.indexOf("sunos") >= 0);
    
        }