在Java中启动本地应用程序exe文件

本文探讨了使用Java启动外部EXE文件的两种方法及其效率对比。初始方法使用Runtime.getRuntime().exec()直接启动,但速度较慢;后续改进采用通过CMD启动的方式,解决了速度问题,并详细记录了解决方案。
今天需要在Java代码中启动之前导出的一个应用产品,即exe文件,查看网上资料,起初使用了如下的方式:

Runtime.getRuntime().exec(wkspacePth + "/ReaderDevice.exe");

这个可能是最通用的方式了,但启动的过程那是相当的慢,相等上十几,几十秒才有个动静。后来也不知道出了什么问题,测量调用的时候,总是弹出个框,说缺少什么companion library 然后就罢|工不启动了。
无奈到网上找到另外的一种方式:

Runtime.getRuntime().exec("cmd.exe /c start D:/\"Sample
Product\"/ReaderDevice.exe");

这样是调用cmd.exe然后再传入参数,使用cmd启动exe文件,但失败。
后来重起电脑,仍旧使用第一种方式,凑合着用呗,反正无聊的一项目。

====以下比以上晚写了一天====
使用第一种方法,启动的速度实在是慢到人神共愤的程度了,于是改用第二种方法。
在我的项目中:
[quote]wkspacePth=/D:/My IDE/my.exe[/quote]
而cmd 执行命令需要[quote]D:\"My IDE"\my.exe -console[/quote]
因此,需要将第一个"/"去掉后,将"/"转换为"\",同时为了考虑冒号的情况,对所有的\变成"\"的形式,
最后cmd执行的命令为[quote]D:"\"My IDE"\"my.exe -console[/quote],可以很快的正常运行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值