日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Java 程序調(diào)用 exe

系統(tǒng) 1942 0

版權(quán)聲明:轉(zhuǎn)載時請務(wù)必保留以下作者信息和鏈接
作者:陳維( chenweionline@hotmail.com )作者的網(wǎng)站: http://www.chenwei.mobi

我們的 Java 程序中有時候需要調(diào)用程序自身以外的一些程序,來完成某些計算。那么這個時候可以使用 ProcessBuilder.start() 或 Runtime.exec方法,并返回 Process 子類的一個實例,該實例可用來控制進程并獲取相關(guān)信息。

我用調(diào)用 Windows 系統(tǒng)的計算器舉個例子:

try ... {
// Windows系統(tǒng)的計算器程序
Stringcmd = " calc.exe " ;

// 創(chuàng)建一個本機進程
Processp = Runtime.getRuntime().exec(cmd);

// 等待Process執(zhí)行完畢再繼續(xù)向下運行
p.waitFor();

}
catch (IOExceptionex) ... {
ex.printStackTrace();
}
catch (InterruptedExceptionex) ... {
ex.printStackTrace();
}


System.out.println(
" transferfinish " );

如果需要以異步方式調(diào)用的話,可以注釋掉 p. waitFor (); 。

Process 沒有自己的終端或控制臺。它的所有標(biāo)準(zhǔn) io(即 stdin,stdout,stderr)操作都將通過三個流 (getOutputStream(),getInputStream(),getErrorStream()) 重定向到父進程。父進程使用這些流來提供到子進程的輸入和獲得從子進程的輸出。

那么我們還可以通過對流的操作取得 Process 的輸出:

Processp = Runtime.getRuntime().exec(cmd);

InputStreamin
= p.getInputStream();

int c;
while ((c = in.read()) != - 1 ) ... {
System.out.print(c);
}

in.close();

Java 程序調(diào)用 exe


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 儋州市| 华容县| 大港区| 平和县| 蓝山县| 屏南县| 青岛市| 民勤县| 铜山县| 灌阳县| 株洲市| 东阳市| 额尔古纳市| 荣昌县| 荣成市| 获嘉县| 衡水市| 泽州县| 洛宁县| 宣武区| 忻城县| 莲花县| 太和县| 麻阳| 汤阴县| 日照市| 舞阳县| 万安县| 荥经县| 高雄县| 清徐县| 四子王旗| 兴宁市| 广西| 镇雄县| 岚皋县| 九龙坡区| 壤塘县| 红桥区| 上思县| 隆德县|