您好,欢迎来到外链网!
当前位置:外链网 » 站长资讯 » 专业问答 » 文章详细 订阅RssFeed

Java调用Linux命令两种方式的例子(java调用linux命令行)

来源:互联网 浏览:107次 时间:2023-04-08

下面是两个执行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;
    }

=================================
上述函数放在一个类中,需要的时候直接调用。

本文从互联网转载,来源地址:www.downzz.com/shell/17607.html,原作者保留一切权利,若侵权或引用不当,请联系茶猫云(cmy.cn)删除。【茶猫云,优质云服务器提供商】