Java Runtime的exec()报错

百思不得其解 发布于 2014/04/27 17:36
阅读 422
收藏 0
import java.io.IOException;




public class RuntimeDemo {


/**
* @param args
* @throws IOException 
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Runtime r=Runtime.getRuntime();
r.exec("D:\\Program Files (x86)\\Tencent\\QQ\\QQProtect\\Bin\\QQProtect.exe");
}

}

//报的错误↓

Exception in thread "main" java.io.IOException: Cannot run program "D:\Program": CreateProcess error=2, ?????????
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at RuntimeDemo.main(RuntimeDemo.java:13)
Caused by: java.io.IOException: CreateProcess error=2, ?????????
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 5 more


加载中
0
Timco
Timco

错误很简单,老梗了,但是我也不知道怎么解决 - -

你这个目录中“Program File(X86)”中间有空格,然后就是 Cannot run program "D:\Program",后面一部分被当作运行参数了。。。

百思不得其解
非常感谢! 我试了下不带空格和中文名字路径 果然能成功 终于解决了我纠结一个星期的问题
0
dsgfdsgf
dsgfdsgf

把空格编码试试

百思不得其解
不会。。。
0
逝水fox
逝水fox

可以试试 String[] 数组参数的那个重载形式,他对参数会自动转义的

百思不得其解
恩 可以用 谢谢
返回顶部
顶部