62,614
社区成员
发帖
与我相关
我的任务
分享
reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line= null;
StringBuffer sb = new StringBuffer();
while ((line = reader.readLine()) != null) {
sb.append(line);
}
Runtime rt = Runtime.getRuntime();
Process proc;
try {
proc = rt.exec("命令");
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
System.out.println("<error></error>");
while ( (line = br.readLine()) != null)
System.out.println(line);
System.out.println("");
int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
exec("cmd /k " + “命令”);
这个exec和cmd不完全一样的。
Process child = Runtime.getRuntime().exec(cmd);
InputStream child_in = child.getInputStream();
String strReturn = "";
while ((c = child_in.read()) != -1) {
strReturn += (char) c;
}
child_in.close();
你错了,Runtime.getRuntime().exec(cmd)这个才是执行命令,child.getInputStream()是获得返回的流................[/quote]
现在就是获取不到返回的流,我知道Runtime.getRuntime().exec(cmd)才是执行命令啊但是命令在cmd里执行可以啊,在程序里就不行了。在程序里执行有两种情况1、用p.getInputStream()的时候好像是执行成功了,但获取不到到命令执行成功后返回的流,在cmd执行成功后会返回一些信息的 2、用p.getErrorStream();的时候直接出现 CommandNotFoundException错误, 肯定是你的命令的问题了,你都说了,简单的命令没有问题
Process child = Runtime.getRuntime().exec(cmd);
InputStream child_in = child.getInputStream();
String strReturn = "";
while ((c = child_in.read()) != -1) {
strReturn += (char) c;
}
child_in.close();
你错了,Runtime.getRuntime().exec(cmd)这个才是执行命令,child.getInputStream()是获得返回的流................肯定是你的命令的问题了,你都说了,简单的命令没有问题