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(); } }