一个多天未能想明白的问题,就是在用JAVA调用系统的命令的时候,有些命令可以被执行,而有些就不行,比如当command为java.exe时是可以的,而javac.exe就不行。请高手指点一二,不甚感激!try { process = Runtime.getRuntime().exec (command); InputStreamReader ir=newInputStreamReader(process.getInputStream()); LineNumberReader input = new LineNumberReader (ir); String line; while ((line = input.readLine ()) != null) System.out.println(line); } catch (java.io.IOException e){ System.err.println ("IOException " + e.getMessage()); }

解决方案 »

  1.   

    不会吧,一般不同的操作系统可能会导致RUNTIME命令格式不同,不可用,你这里明显不适这个问题你确认不是你的参数格式写错了?
      

  2.   

    你环境变量没设置,你到命令行输入javac应该找不到程序吧,输java可以
      

  3.   

    估计是你用的ide在运行javac和当时ide运行的javac冲突
      

  4.   

    呵呵,你把InputStreamReader ir = new InputStreamReader(process.getInputStream());
    改成
    InputStreamReader ir = new InputStreamReader(process.getErrorStream());
    试试,结果就出来了
    结帖吧