1
我試圖在同一目錄作爲我的Jar文件通過獲取文件的位置與的Runtime.exec()失敗,並在目錄(JAVA)的空間
private static File jarLocation = new File(Main.class.getProtectionDomain().getCodeSource().getLocation().getPath()).getParentFile();
然後調用
執行過程Runtime.getRuntime().exec("command", null, jarLocation);
這通常工作得很好,但當路徑中有一個空格時,我會得到「目錄名稱無效」。我試圖添加一些調試代碼,該代碼打印用「%20」替換空格的目錄的路徑(我假設因爲空格的ASCII十六進制爲20)。有沒有辦法可以使用路徑中有空格的目錄?
將%20替換回實際空格應該可行。它們是網址編碼的結果。編輯:請參閱http://stackoverflow.com/a/12733172/995891 – zapl 2014-12-02 03:39:47
你能否包括你得到的全部錯誤,包括堆棧跟蹤?你在使用什麼操作系統?而實際的'command'字符串?它以這種形式的Runtime.exec()進行標記,因此可能存在問題。 – 2014-12-02 03:40:15
@AndrewJanke我正在運行的命令似乎沒有任何區別。我已經在Windows 7和Linux(Ubuntu)上嘗試了這一點,它也似乎沒有任何區別。我只是傳遞一個字符串的命令。 – user2248702 2014-12-02 03:48:38