Java调用Linux命令两种措施的例子
发布时间:2021-11-23 17:07:15 所属栏目:教程 来源:互联网
导读:下面是两个执行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
下面是两个执行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; } ================================= 上述函数放在一个类中,需要的时候直接调用。 ![]() (编辑:江门站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |