使用Runtime调用unix 系统命令: try
{
Runtime runtime = Runtime.getRuntime();
runtime.exec("pwd");
System.out.println("exec unix shell2");
} catch (IOException e) {
e.printStackTrace();
}
但是没有反应,谁能告诉我为什么吗?谢谢!
{
Runtime runtime = Runtime.getRuntime();
runtime.exec("pwd");
System.out.println("exec unix shell2");
} catch (IOException e) {
e.printStackTrace();
}
但是没有反应,谁能告诉我为什么吗?谢谢!
byte[] b = new byte[80];
while (r.getInputStream().read(b) > 0) {
System.out.println(new String(b));
}
Process p=r.exec(cmdstr);
p.waitFor();//等待指令执行完毕
确实没有反映,因为Runtime.exec只是启动一个后台进程,并不会弹出所谓的窗口或者有什么输出。Process p=Runtime.getRuntime().exec("pwd");
p.getInputStream();//获得进程的标准输入流,可以向进程发送进一步的指令,模拟人机交互
p.getOutputStream();//程序的标准输出流,也就是平常打印在控制台上的信息,通过这个流读取
p.getErrorStream();//程序的标准错误
以上代码,是在执行命令后,与命令进行人机交互,获得结果的方式。
Runtime知识执行一个命令,但执行这个命令的结果的通过Process来获取,然后你才能看到执行结果啦。