我想从本地服务器运行.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.
请提出建议,
最佳答案
错误消息显示CreateProcess error=5,访问被拒绝。
这意味着您的 Java servlet 进程没有执行该程序的权限。
我认为原因是您在 notepad++.exe
前面缺少 \\
。您需要转义所有反斜杠。
"C:\\IBM\\Abhishek\\Notepad++\notepad++.exe"
-> "C:\\IBM\\Abhishek\\Notepad++\\notepad++.exe"
关于java - 如何使用servlet运行.exe文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48303600/