java执行cmd命令工具实现
2016-12-23 13:55
295 查看
在某些情况下,java也会调用cmd执行某些命令。例如重启啊什么的,之前写了一个执行cmd命令的一个工具类,大家可以参考一下,根据自身情况进行调整。
执行String字符串类的命令
执行String字符串类的命令
public String runCommands(String cmds){ String str = ""; String errStr = ""; String charset = Charset.defaultCharset().toString(); try { Process p = Runtime.getRuntime().exec(cmds); InputStream err = p.getErrorStream(); InputStream in = p.getInputStream(); str = processStdout(in, charset); errStr = processStdout(err, charset); if(!StringUtils.isEmpty(errStr)){ return str+errStr; } } catch (IOException e) { errStr = e.getMessage(); return errStr; } return str; }执行String[]类的命令
public String runCommands(String[] cmd){ String str = ""; String errStr = ""; String charset = Charset.defaultCharset().toString(); try { Process p = Runtime.getRuntime().exec(cmd); InputStream err = p.getErrorStream(); InputStream in = p.getInputStream(); str = processStdout(in, charset); errStr = processStdout(err, charset); if(!StringUtils.isEmpty(errStr)){ return str+errStr; } } catch (IOException e) { errStr = e.getMessage(); return errStr; } return str; }解析返回信息
public String processStdout(InputStream in, String charset) throws IOException { String s = ""; String str = ""; InputStreamReader insr = new InputStreamReader(in); BufferedReader buffer = new BufferedReader(insr); try { while ((s=buffer.readLine())!= null){ if(StringUtil.isEmpty(str)){ str = str+s; }else{ str = "\n"+str+s; } } } catch (IOException e) { throw e; } finally { buffer.close(); insr.close(); } return str; }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- Debian 7.x 安装Oracle JAVA
- springmvc实现url路由功能
- spring boot 配置 druid/** * 配置druid * Created by adam on 4/11/16. */ @Configuration public class D
- api接口rsa加密
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本