利用Apache commons exec 实现指定应用打开对应文件
2018-07-20 来源:open-open
在实际工作中,我们有时候需要指定某一个应用,打开某一个文件。比如用播放器打开一个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文件。将文件关闭之后,进程结束。转自:http://blog.csdn.net/ffm83/article/details/42266595
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇: Java字符串工具类
最新资讯
热门推荐