我第二次遇到使用ProcessBuilder
從系統調用中提取的值的問題。與Java中的ProcessBuilder混淆
@org.junit.Test
public void test() {
Process process = null;
ProcessBuilder pb = new ProcessBuilder("QQ.exe");
pb.directory(new File("D:\\Program Files (x86)\\Tencent\\QQ\\Bin\\"));
try {
process = pb.start();
} catch (IOException e) {
e.printStackTrace();
}
}
以上的結果是:「無法運行程序 「爲QQ.exe」(在目錄 「d:\程序文件(x86)\騰訊\ QQ \ BIN」):CreateProcess的錯誤= 2,該系統找不到指定的文件「
那麼Process.dir()的功能是什麼? 有人告訴我,我指定的目錄是運行過程的工作目錄 - 它無助於找到可執行文件。 但後續的代碼可以運行正確
@org.junit.Test
public void test() {
Process process = null;
ProcessBuilder pb = new ProcessBuilder("cmd","/c","QQ.exe");
pb.directory(new File("D:\\Program Files (x86)\\Tencent\\QQ\\Bin\\"));
try {
process = pb.start();
} catch (IOException e) {
e.printStackTrace();
}
}
的QQ.EXE不path.Who能告訴我爲什麼嗎?我是中國人。我不擅長英語,所以請原諒我的英語這種可憐的道歉。
您是否知道Javadoc for Java Standard Edition [已有中文版](http://gceclub.sun.com.cn/Java_Docs/jdk6/html/zh_CN/api/index.html)?或者至少他們是。看起來網站不再存在:(甲骨文在他們的網站上有很多破鏈接 –
http://gceclub.sun.com.cn/這個websit無法在中國訪問 – chlstar