码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2014-12-30 17:17:32      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:apache   java   commons exec   源代码   

         在实际工作中,我们有时候需要指定某一个应用,打开某一个文件。比如用播放器打开一个MP3音乐文件,用记事本打开一个文本文件。不过有的应用需要一些额外的参数,在具体使用的时候要注意。

 

package test.ffm83.commons.exec;

 

import org.apache.commons.exec.CommandLine;

importorg.apache.commons.exec.DefaultExecutor;

importorg.apache.commons.exec.ExecuteWatchdog;

importorg.apache.commons.exec.PumpStreamHandler;

importorg.apache.commons.io.output.ByteArrayOutputStream;

/**

 * 通过commonsexec指定某一个应用打开某一个文件,比如用写字本打开txt文件

 *@author 范芳铭

 */

public class EasyExecFile {

         publicstatic void main(String[] args) {

                   EasyExecFileexec = new EasyExecFile();

                   exec.notepadReadFile("d:/ffm83/ffm83.txt");

         }

 

         publicvoid notepadReadFile(String filePath) {

                   Stringcommand = "notepad.exe " + filePath;

                   try{

                            ByteArrayOutputStreamoutputStream = new ByteArrayOutputStream();

                            ByteArrayOutputStreamerrorStream = new ByteArrayOutputStream();

 

                            //命令行处理

                            CommandLinecommandline = CommandLine.parse(command);

                            //进行执行体

                            DefaultExecutorexec = new DefaultExecutor();

 

                            exec.setExitValues(null);

                            //利用监视狗来设置超时

                            ExecuteWatchdogwatchdog = new ExecuteWatchdog(60000);

                            exec.setWatchdog(watchdog);

 

                            PumpStreamHandlerstreamHandler = new PumpStreamHandler(

                                               outputStream,errorStream);

 

                            exec.setStreamHandler(streamHandler);

                            exec.execute(commandline);//执行

 

                            Stringout = outputStream.toString("gbk");

                            Stringerror = errorStream.toString("gbk");

 

                            System.out.println(out);

                            System.err.println(error);

                   }catch (Exception e) {

                            e.printStackTrace();

                   }

         }

}

运行之后,打开了对应的txt文件。将文件关闭之后,进程结束。

 

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

标签:apache   java   commons exec   源代码   

原文地址:http://blog.csdn.net/ffm83/article/details/42266595

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!