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());
试试,结果就出来了
结帖吧