/** * @param cmd ant命令 * * @return 执行日志 * * @exception 执行有错误会抛出AntExecException */ public static String execute(String[] cmd){ // 标准输出 InputStream standardInput = null; BufferedReader standardReader = null; // 错误输出 InputStream errInput = null; BufferedReader errReader = null; StringBuilder standardMsg = new StringBuilder(); StringBuilder errMsg = new StringBuilder(); Process process = null; try { // 执行ant process = Runtime.getRuntime().exec(cmd); // 读取标准输入流 standardInput = process.getInputStream(); if(standardInput != null){ standardReader = new BufferedReader(new InputStreamReader(standardInput)); String line = standardReader.readLine(); while (null != line) { standardMsg.append(line).append("\n"); line = standardReader.readLine(); } } // 检查错误流是否有信息,如果有,则说明执行失败 errInput = process.getErrorStream(); if(errInput != null){ errReader = new BufferedReader(new InputStreamReader(errInput)); String errLine = errReader.readLine(); while (null != errLine) { errMsg.append(errLine).append("\n"); errLine = errReader.readLine(); } if(errMsg.length() > 0){ throw new AntExecException(standardMsg.append(errMsg).toString()); } } } catch (IOException e) { e.printStackTrace(); throw new AntExecException(standardMsg.append(errMsg).toString()); } finally { // 销毁进程对象,否则可能引起资源不能释放问题,出现Too many open files错误 if (process != null) { process.destroy(); } if (null != standardReader) { try { standardReader.close(); } catch (IOException e) { e.printStackTrace(); } } if (null != errReader) { try { standardReader.close(); } catch (IOException e) { e.printStackTrace(); } } } logger.debug("executeAnt end..."); return standardMsg.toString(); }
public class AntExecException extends RuntimeException { private static final long serialVersionUID = -3708533380275512493L; public AntExecException() { super(); } public AntExecException(String message, Throwable cause) { super(message, cause); } public AntExecException(String message) { super(message); } public AntExecException(Throwable cause) { super(cause); } }
..
相关推荐
一个Java执行DOS命令的类!极其简单!一个Java执行DOS命令的类!极其简单!
java执行DOS的内部命令,执行DOS可执行程序。
NULL 博文链接:https://leiwuluan.iteye.com/blog/364576
通过java执行底层dos命令,不是很全但是可以参考!
本文档介绍了如何在Java中使用ProcessBuilder类执行DOS命令。我们提供了详细的步骤说明,并附带一个简单的源码示例,演示如何使用Java代码删除文件。 内容概要 本文档涵盖以下内容: 使用Java代码执行DOS命令 使用...
运行Dos命令执行Java -jar xxx.jar时,输出内容可见。可自定义运行Dos命令,运行后自动最小化右下角到任务栏,关闭时要确认,也可要求设置密码才可退出。 执行说明: 在config.dt文件中配置,cmdLine=E:\Java2\...
dos命令测试java jar文件 命令行下运行JUnit测试 命令运行java
NULL 博文链接:https://zhaoshijie.iteye.com/blog/856037
java运行dos命令 java执行Shell java执行bat
用Java编写的一个小工具,可以执行cmd命令,并将执行结果打印出来
本文档介绍了如何在Java中使用ProcessBuilder类执行常用的DOS命令。我们提供了详细的步骤说明,并附带一个简单的源码示例,演示如何使用cd命令回到上级目录以及回到根目录。 内容概要 本文档涵盖以下内容: 回到...
java通过sigar获取进程的相关信息 ,包含各个进程的PID、名称、CPU使用率、所占内存大小等
用java语言实现windows dos的调用,通过输入dos命令,执行相应的结果
本文档介绍了如何在Java中使用ProcessBuilder类执行DOS命令。我们提供了详细的步骤说明,并附带一个简单的源码示例,演示如何使用Java代码获取系统的网络配置信息。 内容概要 本文档涵盖以下内容: 使用Java代码...
内容概要 本文档涵盖以下内容: 打开DOS窗口:使用Java代码打开DOS窗口。...使用Java代码执行DOS命令 使用Java代码创建文件夹 阅读建议 在阅读本文档之前,建议您具备以下基础知识: 对Java语言的基本理解
JAVA如何调用DOS命令,用Java编写应用时,有时需要在程序中调用另一个现成的可执行程序或系统命令,这时可以通过组合使用Java提供的Runtime类和Process类的方法实现。
MS DOS 命令大全以及如何在doc下运行java程序.docx
ping是一个DOS命令,一般用于检测网络通或不通 ,也叫时延,其值越大,速度越慢。 PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP(Internet Control Messages ...
一个能执行dos命令并获得返回值的工具,调用系统api函数实现,对汉字的支持比系统自带的命令提示符好些,可以执行java,javac等外部命令,如果大家使用的时候有问题,希望可以告诉我。