Runtime.getRuntime().exec(...)使用方法
如果想要了解更多的信息,参阅代码里面给的链接
下面是这个正确的例子
- public?class?RuntimeExec?{ ??????/** ??????*?Runtime?execute. ??????* ??????*?@param?cmd?the?command. ??????*?@return?success?or?failure ??????*?@see?{@link?http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=4} ??????*?@since?1.1 ??????*/??????public?static?boolean?runtimeExec(String?cmd)?{ ??????????try?{ ??????????????Process?proc?=?Runtime.getRuntime().exec(new?String[]{"/bin/sh",?"-c",?cmd}); ????????????????//?any?error?message? ??????????????StreamGobbler?errorGobbler?=?new?StreamGobbler(proc.getErrorStream(),?"ERROR"); ????????????????//?any?output? ??????????????StreamGobbler?outputGobbler?=?new?StreamGobbler(proc.getInputStream(),?"OUTPUT"); ????????????????//?kick?them?off ??????????????errorGobbler.start(); ??????????????outputGobbler.start(); ??????????????????if?(proc.waitFor()?!=?0)?{ ??????????????????System.err.println("执行\""?+?cmd?+?"\"时返回值="?+?proc.exitValue()); ??????????????????return?false; ??????????????}?else?{ ??????????????????return?true; ??????????????} ??????????}?catch?(Exception?e)?{ ??????????????e.printStackTrace(); ??????????????return?false; ??????????} ??????} ????????static?class?StreamGobbler?extends?Thread?{ ??????????InputStream?is; ??????????String?type; ????????????StreamGobbler(InputStream?is,?String?type)?{ ??????????????this.is?=?is; ??????????????this.type?=?type; ??????????} ????????????public?void?run()?{ ??????????????try?{ ??????????????????InputStreamReader?isr?=?new?InputStreamReader(is); ??????????????????BufferedReader?br?=?new?BufferedReader(isr); ??????????????????String?line?=?null; ??????????????????while?((line?=?br.readLine())?!=?null) ??????????????????????System.out.println(type?+?">"?+?line); ??????????????}?catch?(IOException?ioe)?{ ??????????????????ioe.printStackTrace(); ??????????????} ??????????} ??????} ????}??