commons-exec的输出

使用管道方式,也可以使用Logoutputstream。下面是管道方式例子。跟C语言类似。

PipedOutputStream outputStream = new PipedOutputStream();

PipedInputStream inputStream = new PipedInputStream(outputStream);

CommandLine commandline = CommandLine.parse("java -jar C:\\Output7.jar");

DefaultExecutor exec = new DefaultExecutor();

PumpStreamHandler streamHandler = new PumpStreamHandler(outputStream);

exec.setStreamHandler(streamHandler);

exec.execute(commandline, new DefaultExecuteResultHandler());

new DefaultExecuteResultHandler()用于异步。

PipedInputStream inputStream = new PipedInputStream(outputStream)用于处理子进程输出。

时间: 2024-10-14 04:54:38

commons-exec的输出的相关文章

Apache Commons Exec 工具包的使用

在没有使用这个工具包之前 我都手写代码去执行linux命令的,因为自己写代码去执行linux返回的信息不全,因为写得很简单只是调用没有用线程去等待信息的返回,也没有实现失效时间,后来想自己实现但是在无意间找到了这个工具包,能实现我的需求,当时很兴奋. commons exec下载路径 版本下载1.3的版本即可,其实也只有一个版本可下载 1.简单的命令执行 public static void execLinuxCommand(String command){ if(StringUtils.isE

Apache commons exec 简介和简单ping命令方法调用实现

Apache commonsexec提供一些常用的方法用来执行外部进程.Apache commons exec库提供了监视狗Watchdog来设监视进程的执行超时,同时也还实现了同步和异步功能. Apache commonsexec涉及到多线程,比如新启动一个进程,Java中需要再开三个线程来处理进程的三个数据流,分别是标准输入,标准输出和错误输出. 需要使用该功能需要引入commons-exec-1.3.jar包,目前最新的版本为1.3版本. 在日常工作和生活中,我们经常需要用到网络,网络有时

Java执行外部程序(Apache Commons Exec)

之前使用Runtime.getRuntime().exec调用外部程序,在Tomcat下会有当前线程一直等待的现象.当时为了解决这个问题,使用新建线程接收外部程序的输出信息,详情请看博客http://blog.csdn.net/accountwcx/article/details/46785437. 后来在网上找到开源的Java调用外部程序类库Apache Commons Exce,这个类库提供非阻塞方法调用外部程序. 官方网址 http://commons.apache.org/proper/

Java运行外部程序(Apache Commons Exec)

之前使用Runtime.getRuntime().exec调用外部程序.在Tomcat下会有当前线程一直等待的现象. 当时为了解决问题,使用新建线程接收外部程序的输出信息.详情请看博客http://blog.csdn.net/accountwcx/article/details/46785437. 后来在网上找到开源的Java调用外部程序类库Apache Commons Exce,这个类库提供非堵塞方法调用外部程序. 官方网址 http://commons.apache.org/proper/c

利用Apache commons exec 实现指定应用打开对应文件

在实际工作中,我们有时候需要指定某一个应用,打开某一个文件.比如用播放器打开一个MP3音乐文件,用记事本打开一个文本文件.不过有的应用需要一些额外的参数,在具体使用的时候要注意. package test.ffm83.commons.exec; import org.apache.commons.exec.CommandLine; importorg.apache.commons.exec.DefaultExecutor; importorg.apache.commons.exec.Execut

find命令之exec

find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec  参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠. {}   花括号代表前面find查找出来的文件名. 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的.在有些操作系统中只允许-ex

linux下find命令之-exec ll -sh {} \;

exec解释: -exec  参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠. {}   花括号代表前面find查找出来的文件名. 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的.在有些操作系统中只允许-exec选项执行诸如l s或ls -l这样的命令.大多数用户使用这一选项是为了查找旧文件并删除它们.建议在真正执行rm命令删除文件之前,最好先用l

js正则函数match、exec、test、search、replace、split使用介绍集合

原文 http://www.jb51.net/article/28007.htm js正则函数match.exec.test.search.replace.split使用介绍集合,学习正则表达式的朋友可以参考下. match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对象或字符串文字. rgExp 必选项.为包含正则表达式模式和可用标志的正则表达式对象.

每天一个 Linux 命令(20):find命令之exec

find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec  参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠. {}   花括号代表前面find查找出来的文件名. 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的.在有些操作系统中只允许-ex

【转】PHP 执行系统外部命令 system() exec() passthru()

PHP作为一种服务器端的脚本语言,象编写简单,或者是复杂的动态网页这样的任务,它完全能够胜任.但事情不总是如此,有时为了实现某个功能,必须借助于操作系统的外部程序(或者称之为命令),这样可以做到事半功倍. 区别: system() 输出并返回最后一行shell结果. exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面. passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上. 相同点:都可以获得命令执行的状态码 demo: //s