日期:2014-05-20  浏览次数:20767 次

JAVA调用系统命令的困惑!
一个多天未能想明白的问题,就是在用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());  

}

------解决方案--------------------
不会吧,一般不同的操作系统可能会导致RUNTIME命令格式不同,不可用,你这里明显不适这个问题

你确认不是你的参数格式写错了?
------解决方案--------------------
你环境变量没设置,你到命令行输入javac应该找不到程序吧,输java可以
------解决方案--------------------
估计是你用的ide在运行javac和当时ide运行的javac冲突
------解决方案--------------------
在哪看过这个贴子。。看来也是广撒网啊。。。
------解决方案--------------------
呵呵,你把

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


结帖吧