如何执行路径名中包含空格的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();