如何在mac osx上的java应用程序中运行带有参数的应用程序

时间:2016-01-31 01:35:23

标签: java macos

我正在编写一个小型java应用程序,在mac osx上加载带有自定义wad文件的ZDoom,并且无法执行命令。

我在应用程序中生成了一个运行ZDoom并加载自定义wad的字符串,我已经通过从netbeans breakline调试器中复制粘贴字符串并直接在终端中运行它来测试它。

当我通过我的应用程序运行代码时,ZDoom会加载,但它没有自定义的wad,所以我相信它在没有它的参数的情况下执行。

我尝试了两种不同的技术来运行命令:

private void loadZdoom()  {
    // get selected wad
    String wad = (String) wadListComboBox.getSelectedItem();

    ProcessBuilder builder = new ProcessBuilder(defaultZdoomInstallPath + "/Contents/MacOS/zdoom", "-file", defaultZdoomWadsPath.replace(" ", "\\ ") + "/" + wad);
    builder.redirectErrorStream(true);
    try {
        Process p = builder.start();
    } catch (IOException ex) {

    }
}

private void loadZdoom()  {
    // get selected wad
    String wad = (String) wadListComboBox.getSelectedItem();
    String runCommand = defaultZdoomInstallPath + "/Contents/MacOS/zdoom " + "-file " + defaultZdoomWadsPath.replace(" ", "\\ ") + "/" + wad;

    try {
            Runtime runTime = Runtime.getRuntime();
            Process process = runTime.exec(runCommand);
    } catch (IOException e) {

    }
}

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

我弄清楚问题是什么,我正在逃离wad文件路径中的空间,因为你需要在终端中执行此操作,但似乎这在JAVA中是不必要的。一切都按预期正常工作:)