如何执行路径名中包含空格的Java System(shell)命令?

我尝试将引号和反斜杠()放在一起,但这不起作用。

ln -s "dir1/dir2" "my\ dir/dir2"

最佳答案

到目前为止,最可靠的方法是使用Runtime.exec(String[] cmdarray)

如果使用Runtime.exec(String command),则Java仅在空白处分割命令。



另请参阅g++: File not found

或者使用ProcessBuilder这样的东西:

ProcessBuilder pb = new ProcessBuilder("ln", "-s", "dir1/dir2", "my dir/dir2");
Process p = pb.start();

10-06 11:07