如何使用servlet运行.exe文件

时间:2018-01-17 14:35:01

标签: 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(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.

请建议,

2 个答案:

答案 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表示以下原因之一。文件无法访问或文件不可执行。