用JAVA的Runtime.getRuntime().exec()执行程序执行不了?

我试过用Runtime.getRuntime().exec("notepad")调用记事本程序,这是可以的。但是我有一个在D:\EXE\下的M.exe可执行文件,这个可执... 我试过用Runtime.getRuntime().exec("notepad")调用记事本程序,这是可以的。但是我有一个在D:\EXE\下的M.exe可执行文件,这个可执行文件的运行是带参数的,我把参数存放在字符串arguments里,同样用Runtime.getRuntime().exec("D:\\EXE\\M.exe "+arguments)来调用,可是这样就无法执行。
同样的带参数命令我放在“开始-》运行”里,或者CMD里调用都是可以出正确结果的。
这是为什么呢?
还是不行啊
展开
 我来答
jamesfancy
推荐于2016-02-07 · TA获得超过532个赞
知道小有建树答主
回答量:373
采纳率:0%
帮助的人:311万
展开全部
你可以用那个方法
exec(String command, String[] args)
也就是说,把参数放在一个数组里,然后调用。

String[] args = new String[] {
"arg1",
"arg2"
};

Runtime.getRuntime().exec(command, args);
Eking2000
2008-11-29 · TA获得超过1228个赞
知道小有建树答主
回答量:1471
采纳率:0%
帮助的人:721万
展开全部
你可以用直接方法。
if (e.getSource()==j1)
{try {
p1=Runtime.getRuntime().exec("\"E:/WAR31.20/WAR31.20/War3.exe\"");
p2=Runtime.getRuntime().exec("\"E:/WAR31.20/WAR31.20/warkey107.exe\"");
try {

if( p1.waitFor()==0)
p2.destroy();

} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (IOException e1) {

e1.printStackTrace();
}
像我这个方法,可以在启动魔兽争霸 时自动启动显血工具,而关闭魔兽时自动关闭显血工具。
看着试试吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
粟舟
2008-11-29 · 超过29用户采纳过TA的回答
知道答主
回答量:65
采纳率:100%
帮助的人:58.6万
展开全部
把D:\\EXE\\M.exe "+arguments
改成D:/EXE/M.exe "+arguments
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式