今天遇到一個問題,在想使用Runtime.exec()創建軟連接,但是沒生效,一開始以爲是權限問題,但是發現有的文件可以創建成功,後來才知道是因爲文件名帶空格不生效。
不止是ln命令,cp這些命令也都一樣。
使用以下方法解決:
String [] commands = { "sh", "-c", " " };
commands[2] = "帶空格的命令";
Runtime.getRuntime().exec(commands);
PS: 如果文件名中含有通配符、橫槓,在執行命令時,也會影響執行結果,也可以用這種辦法解決。