代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | public void execute(String command) { System.out.println("Execute the command is: " + command); if (null == command || "".equals(command)) { return; } InputStream in = null; InputStream error = null; InputStreamReader isrIn = null; BufferedReader brIn = null; InputStreamReader isrError = null; BufferedReader brError = null; StringBuffer sb = new StringBuffer(); boolean flag = false; try { Runtime rt = Runtime.getRuntime(); System.out.println(System.getProperty("user.home")); //在指定的目录下执行 Process pro = rt.exec(command, null, new File(System.getProperty("user.home"))); in = pro.getInputStream(); error = pro.getErrorStream(); isrIn = new InputStreamReader(in); brIn = new BufferedReader(isrIn); isrError = new InputStreamReader(error); brError = new BufferedReader(isrError); System.out.println("Input Message"); String line = brIn.readLine(); while (null != line) { System.out.println(line); line = brIn.readLine(); } line = brError.readLine(); while (null != line) { System.out.println(line); line = brError.readLine(); } } catch (IOException e) { StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw)); System.out.println(sw.toString()); } finally { try { brIn.close(); isrIn.close(); in.close(); brError.close(); isrError.close(); error.close(); } catch (IOException e) { e.printStackTrace(); } } |
完事,mark一下。