我是java菜鸟一名
在调用执行一个本地程序时,抛出这样的异常,是什么意思?如何解决?为什么一句出错会有这么多的提示?该从哪里入手查错?代码:
String k = new String("D:\\program\\sentyf.exe");
try{
   java.lang.Runtime.getRuntime().exec(k);
   } 
catch (Exception e){
    e.printStackTrace();
    }
出错信息:
java.io.IOException: CreateProcess: D:\program\sentyf.exe error=2
at java.lang.Win32Process.create(Native Method)
at java.lang.Win32Process.<init>(Win32Process.java:66)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:566)
at java.lang.Runtime.exec(Runtime.java:428)
at java.lang.Runtime.exec(Runtime.java:364)
at java.lang.Runtime.exec(Runtime.java:326)

解决方案 »

  1.   

    try{
       Runtime rt=Runtime.getRuntime();
       rt.exec(k);
       //java.lang.Runtime.getRuntime().exec(k);
       } 
    catch (Exception e){
        e.printStackTrace();
        }
      

  2.   

    楼上的改了些什么?程序没错,应该是你的命令字符串弄错了,找不到D:\\program\\sentyf.exe,再检查一下看看
      

  3.   

    你的程序并没有错,因为,你的目录下没有这个exe文件,出这么多提示,因为你用的 e.printStackTrace();会把相关的程序依次列出来,你可以做一下处理,如提示文件找不到。例如: public static void main(String[] agrs) {
    String k = new String("D:\\program\\sentyf.exe");
    try{
       java.lang.Runtime.getRuntime().exec(k);
       } 
    catch (Exception e){
    System.out.println("文件找不到");
     //   e.printStackTrace();
        }
    }
      

  4.   

    1.查D:\program\sentyf.exe文件是否存在
    2.直接运行D:\program\sentyf.exe试试
      

  5.   

    对,你先直接运行D:\program\sentyf.exe试试,
    看看什么效果