问题描述
用Runtime.getRuntime().exec(cmd)执行命令获得了一个Process对象,但这个时候命令没有输出,要执行了其它操作之后才会有一连串的结果输出(命令就像一个服务器程序一样等待操作)。在执行了其它操作之后,再去调用Process对象的getInputStream()方法会得到那一连串的吗? 问题补充:jobar 写道
解决方案
没问题,可以的; Process pr = Runtime.getRuntime().exec(finalCommand); BufferedReader br_in = null; try { br_in = new BufferedReader(new InputStreamReader(pr.getInputStream())); String buff = null; while ( (buff = br_in.readLine()) != null) { System.out.println("stdout: " + buff); try { Thread.sleep(100); } catch (Exception e) {} } br_in.close(); } catch (IOException ioe) { System.out.println("Error printing process output."); ioe.printStackTrace(); } finally { try { br_in.close(); } catch (Exception ex) {} }