我正在编写一个小型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) {
}
}
我在这里做错了什么?
答案 0 :(得分:0)
我弄清楚问题是什么,我正在逃离wad文件路径中的空间,因为你需要在终端中执行此操作,但似乎这在JAVA中是不必要的。一切都按预期正常工作:)