Java 使用Runtime 运行其他程序出错处理

Java 使用Runtime.getRuntime().exec("command"); 有时候会碰到错误如下:

Execute failed: java.io.IOException: Cannot run program "start": Cre
ateProcess error=2, The system cannot find the file specified
错误代码2一般都是由于路径问题没有找到指定的程序文件:

java.io.IOException: Cannot run program "your command": CreateProcess error=193, %1 ??????Ч?? Win32 ??ó

错误代码193是运行了一个不信任的程序. 当你充分信任你的程序时候你可以使用cmd作为跳板

Runtime.getRuntime().exec("cmd /c [your command]");

问题就解决了.
 
另外就是各个操作系统的差异导致的命令行识别参数问题最好用标准的格式全部都用引号括起来
比如Windows Server 2008 可以这样用
String comm = "cmd /c mypro e:\case.ppt";
到了Windows Server 2003就不支持必须写成
String comm = "cmd /c mypro e:/case.ppt";
所以为了不出错都写成
String comm = "\"cmd\" \"/c\" \"mypro\" \"e:\\case.ppt\"";
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值