歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java調用Linux命令兩種方式的例子

下面是兩個執行Linux命令的例子:

包含文件:
import java.io.InputStreamReader;
import java.io.LineNumberReader;

    /**
     * 執行shell命令
     *String[] cmd = { "sh", "-c", "lsmod |grep linuxVmux" }或者
     *String[] cmd = { "sh", "-c", "./load_driver.sh" }
     *int tp = 1 返回執行結果  非1 返回命令執行後的輸出
     */
  public String runCommand(String[] cmd,int tp){
     StringBuffer buf = new StringBuffer(1000);
     String rt="-1";
  try {
   Process pos = Runtime.getRuntime().exec(cmd);
   pos.waitFor();
   if(tp==1){
    if(pos.exitValue()==0){
     rt="1";
    }
   }else{
    InputStreamReader ir = new InputStreamReader(pos.getInputStream());
    LineNumberReader input = new LineNumberReader(ir);
    String ln="";
    while ((ln =input.readLine()) != null) {
        buf.append(ln+"<br>");
    }
    rt = buf.toString();
    input.close();
    ir.close();
   }
  } catch (java.io.IOException e) {
   rt=e.toString();
  }catch (Exception e) {
   rt=e.toString();
  }
     return rt;
    }
    /**
     * 執行簡單命令
    * String cmd="ls"
     *int tp = 1 返回執行結果  非1 返回命令執行後的輸出
     */
    public String runCommand(String cmd,int tp){
     StringBuffer buf = new StringBuffer(1000);
     String rt="-1";
  try {
   Process pos = Runtime.getRuntime().exec(cmd);
   pos.waitFor();
   if(tp==1){
    if(pos.exitValue()==0){
     rt="1";
    }
   }else{
    InputStreamReader ir = new InputStreamReader(pos.getInputStream());
    LineNumberReader input = new LineNumberReader(ir);
    String ln="";
    while ((ln =input.readLine()) != null) {
        buf.append(ln+"<br>");
    }
    rt = buf.toString();
    input.close();
    ir.close();
   }
  } catch (java.io.IOException e) {
   rt=e.toString();
  }catch (Exception e) {
   rt=e.toString();
  }
     return rt;
    }

=================================
上述函數放在一個類中,需要的時候直接調用。

Copyright © Linux教程網 All Rights Reserved