3

我最近将我的 Java 版本更新为 JDK7u21。在更新 21 的发行说明中,明确提到了使用 Runtime.exec 的问题。

因此,我想更改我的代码以使用 ProcessBuilder。我正在尝试执行一个带有空格的命令。但即使为此使用 ProcessBuilder,我也会进入 C:\Users\Parag.Joshi\Documents 而不是确切的目录。

下面是我的代码:

ProcessBuilder p = new ProcessBuilder("cmd", "/c", "explorer ", "C:\Local Disk D\My Tutorial");
p.start();

我查看了Java 在路径名中执行带有空格的命令,但没有得到任何线索。

4

1 回答 1

5

我刚刚在我的本地机器上测试了它。

该行为是由于之后的空间引起的"explorer "。删除该空间,它将起作用。您还需要引用\.

ProcessBuilder p = new ProcessBuilder("cmd", "/c", "explorer", 
                                      "C:\\Local Disk D\\My Tutorial");
于 2013-05-07T10:17:44.303 回答