java 调用exe
2015-07-20 11:18
513 查看
在windows下做java项目时,有时候windows下会有现成的小工具能解决我们项目中的问题,此时通过java调用
windows下的可执行文件就会给我们带来很多便利;
通过java调用windows下的exe有下面两种方式:
1.通过cmd.exe来执行脚本,或者执行某一命令
如上例,make_torrent.exe是我已经编译好的windows下的可执行程序,这里通过java调用命令行可直接
执行这一程序,只需向其中传正确的参数即可。
2.直接执行exe
这种方法与前一种差不多,但是通过测试有细微差别
第一种方式,通过cmd调用make_torrent.exe执行完毕后,线程会停止,会生成torrent文件;
而如果直接调用make_torrent.exe,线程执行完后必须手动停止当前java程序的运行才会生成torrent文件;
windows下的可执行文件就会给我们带来很多便利;
通过java调用windows下的exe有下面两种方式:
1.通过cmd.exe来执行脚本,或者执行某一命令
<span style="font-size:14px;"> public void MakeTorrent (String filename,String tracker,String torrentname){ try { System.out.println("开始做种"); Process proc = Runtime.getRuntime().exec( "cmd.exe /c start "+" make_torrent.exe " +filename+" -t "+tracker+" -o "+torrentname); } catch (IOException ex) { ex.printStackTrace(); } } </span>
如上例,make_torrent.exe是我已经编译好的windows下的可执行程序,这里通过java调用命令行可直接
执行这一程序,只需向其中传正确的参数即可。
2.直接执行exe
<span style="font-size:14px;">public static void download(String url){ try { Process proc = Runtime.getRuntime().exec("client_test.exe "+url); // Runtime.getRuntime().exec("client_test.exe "+"q"); BufferedReader read = new BufferedReader(new InputStreamReader( proc.getInputStream())); new Thread(new Echo(read)).start(); PrintWriter out = new PrintWriter(new OutputStreamWriter( proc.getOutputStream())); BufferedReader in = new BufferedReader(new InputStreamReader( System.in)); String instr = in.readLine(); Runtime.getRuntime().exec("client_test.exe "+"q"); while (!"exit".equals(instr)) { instr = in.readLine(); out.println(instr); // file: // out.println("telnet 192.168.0.1"); out.flush(); } in.readLine(); read.close(); out.close(); } catch (IOException ex) { ex.printStackTrace(); } } </span>
这种方法与前一种差不多,但是通过测试有细微差别
第一种方式,通过cmd调用make_torrent.exe执行完毕后,线程会停止,会生成torrent文件;
而如果直接调用make_torrent.exe,线程执行完后必须手动停止当前java程序的运行才会生成torrent文件;
相关文章推荐
- 利用java的可序列化IO流仿数据库原理进行CRUD操作。
- eclipse下文件的编码错误
- Java泛型(一)泛型的使用和自我理解
- eclipse中打开含有汉字的properties文件显示乱码
- java关于开始新项目的问题
- CXF+Spring 整合
- Java打包
- eclipse 直接生成jni头文件
- spring多个数据源的dbcp配置方法
- JAVA常用类之——Math和Random
- Java Web乱码分析及解决方案(一)——GET请求乱码
- Eclipse背景颜色修改
- JSBridge连接JAVA和JS的桥梁
- struts2 实战(二)
- java Calendar详解
- 【Java基础第一弹】Java序列化基础篇
- spring aop事务配置,事务回滚
- Spring bean加载顺序 depends-on
- 001--eclipse中的project 、 classpath和settings
- 无需使用任何jar包就可以使用Java发送邮件(复制)