0
這可能是一個簡單的問題,我對Java相當陌生,但在我的搜索中,我一直無法弄清楚爲什麼這段代碼無法正常工作。Process Builder找不到指定的路徑,使用AppData文件夾
String execLoc = ((System.getenv("APPDATA"))+"\\ARcraft\\exec\\");
ProcessBuilder getCrafting = new ProcessBuilder("Minecraft.exe");
getCrafting.directory(new File(execLoc));
getCrafting.start();
當我運行此,我回來:
Cannot run program "Minecraft.exe"
(in directory "C:\Users\andrew\AppData\Roaming\ARcraft\exec"):
CreateProcess error=2, The system cannot find the file specified
我讀過其他職位有類似的問題,並嘗試了多種解決方案,但它們使用不似乎修復程序爲我做任何事情。我已經確認該文件存在,並且它在從命令提示符粘貼的程序反饋的目錄中執行時正確運行。
如果你能保證'C:\用戶\安德魯\應用程序數據\漫遊\ ARcraft \ EXEC \我的世界.exe'存在,那麼它必須是一個權限問題。也許你應該嘗試以管理員身份運行你的程序。用戶文件夾通常具有有限的權限... – 2013-05-06 23:43:28
您是否嘗試過使用'ProcessBuilder getCrafting = new ProcessBuilder(「C:\ Users \ andrew \ AppData \ Roaming \ ARcraft \ exec \ Minecraft.exe」);'而不是 – MadProgrammer 2013-05-06 23:45:10
@MadProgrammer '必須是ProcessBuilder(「C:/Users/andrew/AppData/Roaming/ARcraft/exec/Minecraft.exe」); (首選)或ProcessBuilder(「C:\\ Users \\ andrewrew \\ AppData \\ Roaming \\ ARcraft \\ exec \\ Minecraft.exe」); – GreyBeardedGeek 2013-05-07 00:24:33