我想从本地服务器运行.exe文件。 这是下面的代码:
String cmds = "C:\\IBM\\Abhishek\\Notepad++\notepad++.exe";
try {
Process p = Runtime.getRuntime().exec(cmds);
System.out.println("process "+p);
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = reader.readLine();
System.out.println("Line---"+line);
while (line != null) {
System.out.println("File---"+line);
line = reader.readLine();
}
} catch (Exception e) {
System.out.println(" Sample Exception :"+e.getMessage());
}
这里输出得到:
Sample Exception :Cannot run program "C:\IBM\Abhishek\Notepad++": CreateProcess error=5, Access is denied.
请建议,
答案 0 :(得分:3)
错误消息显示CreateProcess error=5, Access is denied.
这意味着您的Java servlet进程无权执行该程序。
我认为原因是你错过了\\
前的notepad++.exe
。你需要逃避所有的反斜杠。
"C:\\IBM\\Abhishek\\Notepad++\notepad++.exe"
-> "C:\\IBM\\Abhishek\\Notepad++\\notepad++.exe"
答案 1 :(得分:0)
错误5表示以下原因之一。文件无法访问或文件不可执行。