JAVA基础应用——执行外部程序(Apache Commons Exec)
来源:互联网 发布:淘宝退款多了会怎么样 编辑:程序博客网 时间:2024/05/21 12:30
Runtime.getRuntime().exec调用外部程序,在Tomcat下会有当前线程一直等待的现象。
Apache Commons Exec是一个开源的Java调用外部程序类库,提供阻塞和非阻塞方法调用外部程序。
官网地址:
http://commons.apache.org/proper/commons-exec/
Maven:
http://mvnrepository.com/artifact/org.apache.commons/commons-exec
教程:
http://commons.apache.org/proper/commons-exec/tutorial.html
阻塞式使用示例:
String line = "AcroRd32.exe /p /h " + file.getAbsolutePath();CommandLine cmdLine = CommandLine.parse(line);DefaultExecutor executor = new DefaultExecutor();executor.setExitValue(1);int exitValue = executor.execute(cmdLine);
非阻塞示例+组合参数
CommandLine cmdLine = new CommandLine("AcroRd32.exe"); cmdLine.addArgument("/p"); cmdLine.addArgument("/h"); Map map = new HashMap(); map.put("file", new File("c:\help.pdf")); cmdLine.addArgument("${file}"); cmdLine.setSubstitutionMap(map); DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler(); DefaultExecutor executor = new DefaultExecutor(); executor.setExitValue(1); executor.execute(cmdLine, resultHandler); resultHandler.waitFor(); //等待返回
阅读全文
0 1
- JAVA基础应用——执行外部程序(Apache Commons Exec)
- Java执行外部程序(Apache Commons Exec)
- Java执行外部程序(Apache Commons Exec)
- 禁止JVM执行外部命令Runtime.exec -- 由Apache Commons Collections漏洞引发的思考
- Apache Commons Exec
- 利用Apache commons exec 实现指定应用打开对应文件
- 利用Apache commons exec 实现指定应用打开对应文件
- Java执行外部程序
- java执行外部程序
- commons-exec执行系统命令
- java/Commons-exec
- 使用Runtime类的exec()方法执行外部程序
- android执行外部程序,类似DELPHI里的EXEC函数
- java process exe.exec 执行exe程序
- java调用外部程序执行
- java程序执行外部命令
- 【Java.ThirdParty】Apache Commons —— FileUpload —— web应用上传文件
- Java 文件上传组件 Apache Commons FileUpload 应用指南(二)——FileUpload如何工作?
- c字符串转换函数atoi、atof、atol
- easyui datagrid 弹窗添加修改删除
- 各种网络库比较 asio libevent
- 为什么zookeeper的节点配置的个数必须是奇数个
- [问题记录]按url context path设置nginx反向代理禅道和Jenkins
- JAVA基础应用——执行外部程序(Apache Commons Exec)
- Unity3DAI行为------避开障碍物简单实现
- C++类对象成员变量和成员函数内存分配的问题
- 为什么zookeeper的节点配置的个数必须是奇数个
- Ubuntu16.04下安装Anaconda(包含spyder)和Tensorflow
- react实现筛选条件组件
- JSP无法获取ModelMap里的值
- (oracle/mysql)查询出分组查询每组的第一条数据
- 时间复杂度与空间复杂度,递归算法