java执行Linux命令的方法
本文实例讲述了java执行Linux命令的方法。分享给大家供大家参考。具体实现方法如下:
publicclassStreamGobblerextendsThread{ InputStreamis; Stringtype; publicStreamGobbler(InputStreamis,Stringtype){ this.is=is; this.type=type; } publicvoidrun(){ try{ InputStreamReaderisr=newInputStreamReader(is); BufferedReaderbr=newBufferedReader(isr); Stringline=null; while((line=br.readLine())!=null){ if(type.equals("Error")){ System.out.println("Error :"+line); }else{ System.out.println("Debug:"+line); } } }catch(IOExceptionioe){ ioe.printStackTrace(); } } } privatevoidshell(Stringcmd) { String[]cmds={"/bin/sh","-c",cmd}; Processprocess;
try { process=Runtime.getRuntime().exec(cmds);
StreamGobblererrorGobbler=newStreamGobbler(process.getErrorStream(),"Error"); StreamGobbleroutputGobbler=newStreamGobbler(process.getInputStream(),"Output"); errorGobbler.start(); outputGobbler.start(); try { process.waitFor(); } catch(InterruptedExceptione) { e.printStackTrace(); } } catch(IOExceptione) { e.printStackTrace(); } }