Java 如何使用servlet运行.exe文件
我想从本地服务器运行.exe文件。 下面是代码:Java 如何使用servlet运行.exe文件,java,servlets,process,Java,Servlets,Process,我想从本地服务器运行.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
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.
请建议,错误5表示以下原因之一。文件不可访问或文件不可执行。错误消息显示CreateProcess error=5,访问被拒绝。 这意味着您的Javaservlet进程没有执行该程序的权限 我认为,原因是您在notepad++.exe前面缺少\\。你需要避开所有的反斜杠
"C:\\IBM\\Abhishek\\Notepad++\notepad++.exe"
-> "C:\\IBM\\Abhishek\\Notepad++\\notepad++.exe"
您想从Servlet运行Notepad++吗?为什么?我想通过Servlet打开,可能吗?@AbhishekMahapatra您甚至可以双击.exe文件打开它。你为什么想要这样的东西?例如,我想试试记事本。否则我为什么要打开它?我有一些其他的.exe文件。或者选项三,不允许。这是正确的答案。很明显,在错误中,它试图运行一个文件夹。C:\IBM\Abhishek\Notepad++代替了C:\IBM\Abhishek\Notepad++\Notepad++。它是否仍产生相同的异常?还是另一个?如果是另一个例外,你应该问一个新问题。