首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不了解操作系统的情况下从java启动命令行

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

Stack Overflow用户
提问于 2013-01-18 14:43:45
回答 3查看 153关注 0票数 1

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

我确实知道(通过查看前面的问题)我可以只检查操作系统,然后打开正确的命令行,但是有没有一种方法可以从操作系统不可知的java方法打开命令行?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-18 15:02:05

没有跨平台的直接或统一的方法。您可以完成的一种方法是

  1. 确定操作系统(使用System.getProperty("os.name"))。
  2. 然后根据操作系统执行特定于操作系统的命令。

例如:(摘自here的代码片段)

代码语言:javascript
复制
           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);

    }

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

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

票数 2
EN

Stack Overflow用户

发布于 2013-01-18 14:47:01

命令:

代码语言:javascript
复制
Runtime.getRuntime().exec("command")

可在所有台式机/笔记本电脑操作系统平台上运行。

票数 0
EN

Stack Overflow用户

发布于 2013-01-18 20:17:09

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14393716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档