<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內(nèi)容,歡迎關(guān)注:

    視頻號(hào)
    視頻號(hào)

    抖音
    抖音

    快手
    快手

    微博
    微博

    當(dāng)前位置:首頁(yè) 科技百科 java process

    java process

    文檔

    java process

    在項(xiàng)目開發(fā)中,經(jīng)常會(huì)遇到調(diào)用其它程序功能的業(yè)務(wù)需求,在java中可以采用process類實(shí)現(xiàn),process是一個(gè)抽象的類,它包括abstract voiddestroy()、abstract intexitValue()等6個(gè)抽象的方法。
    推薦度:
    導(dǎo)讀在項(xiàng)目開發(fā)中,經(jīng)常會(huì)遇到調(diào)用其它程序功能的業(yè)務(wù)需求,在java中可以采用process類實(shí)現(xiàn),process是一個(gè)抽象的類,它包括abstract voiddestroy()、abstract intexitValue()等6個(gè)抽象的方法。

    java process是什么?一起來(lái)看看小編今天的分享吧!

    在項(xiàng)目開發(fā)中,經(jīng)常會(huì)遇到調(diào)用其它程序功能的業(yè)務(wù)需求,在java中通常有兩種實(shí)現(xiàn)方法,包括:

    Runtime?runtime?=?Runtime.getRuntime();
    Process?p?=runtime.exec(cmd);

    Process?p=new?ProcessBuilder(cmd).start();

    在這里就需要認(rèn)識(shí)一下process類,process是一個(gè)抽象的類,它包含6個(gè)抽象的方法:

    abstract??voiddestroy()?
    ??????????殺掉子進(jìn)程。
    abstract??intexitValue()?
    ??????????返回子進(jìn)程的出口值。
    abstract??InputStreamgetErrorStream()?
    ??????????獲取子進(jìn)程的錯(cuò)誤流。
    abstract??InputStreamgetInputStream()?
    ??????????獲取子進(jìn)程的輸入流。
    abstract??OutputStreamgetOutputStream()?
    ??????????獲取子進(jìn)程的輸出流。
    abstract??intwaitFor()?
    ??????????導(dǎo)致當(dāng)前線程等待,如有必要,一直要等到由該?Process?對(duì)象表示的進(jìn)程已經(jīng)終止。

    以“ping?百度網(wǎng)址”為例:

    import?java.io.IOException;
    ?
    public?class?ProcessDemo?{
    ????????public?static?void?main(String[]?args)?{
    ????????????????try?{
    ?????????????????????????Process?process?=?Runtime.getRuntime().exec("ping?www.baidu.com");
    ?????????????????????????System.out.println("任務(wù)執(zhí)行完畢!");
    ??????????????}?catch?(IOException?e)?{
    ???????????????????????????????????????//?TODO?Auto-generated?catch?block
    ???????????????????????????????????????e.printStackTrace();
    ??????????????}
    ???????}
    }

    由于Process提供了WaitFor和getInputStream兩個(gè)方法,這兩個(gè)方法都阻塞java線程,使調(diào)用ping被掛到后臺(tái)運(yùn)行,程序直接打印“任務(wù)執(zhí)行完畢!”,而我們想要的效果是先把ping操作執(zhí)行完成后,再輸出“任務(wù)執(zhí)行完畢!”,可以等待腳本返回或結(jié)束后,再繼續(xù)執(zhí)行java程序:

    import?java.io.BufferedReader;
    import?java.io.IOException;
    import?java.io.InputStreamReader;
    ?
    public?class?ProcessDemo?{
    ?????????public?static?void?main(String[]?args)?{
    ???????????????????try?{
    ????????????????????????Process?process?=?Runtime.getRuntime().exec("ping?www.baidu.com");
    ????????????????????????BufferedReader?bufferedReader?=?new?BufferedReader(
    ??????????????????????????????????new?InputStreamReader(process.getInputStream(),"gbk"));
    ????????????????????????String?line;
    ????????????????????????while?((line?=?bufferedReader.readLine())?!=?null)?{
    ????????????????????????????System.out.println(line);
    ????????????????????????}
    ????????????????????????System.out.println("任務(wù)執(zhí)行完畢!");
    ?????????????????????}?catch?(IOException?e)?{
    ????????????????????????//?TODO?Auto-generated?catch?block
    ???????????????????????e.printStackTrace();
    ??????????????????????}
    ???????????}
    }
    import?java.io.IOException;
    ?
    public?class?ProcessDemo?{
    ?????public?static?void?main(String[]?args)?{
    ??????????try?{
    ??????????????Process?process?=?Runtime.getRuntime().exec("ping?www.baidu.com");
    ??????????????process.waitFor();
    ??????????????System.out.println("任務(wù)執(zhí)行完畢!");
    ??????????}?catch?(IOException?e)?{
    ??????????????//?TODO?Auto-generated?catch?block
    ??????????????e.printStackTrace();
    ??????????}?catch?(InterruptedException?e)?{
    ??????????????????????????????????????????????????????????//?TODO?Auto-generated?catch?block
    ??????????????e.printStackTrace();
    ??????????}
    ?????}
    }

    這樣就完成了process的Java程序操作。

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    java process

    在項(xiàng)目開發(fā)中,經(jīng)常會(huì)遇到調(diào)用其它程序功能的業(yè)務(wù)需求,在java中可以采用process類實(shí)現(xiàn),process是一個(gè)抽象的類,它包括abstract voiddestroy()、abstract intexitValue()等6個(gè)抽象的方法。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關(guān)推薦
    deque java linux 格式化u盤 js讀取文件 python 交集 object 轉(zhuǎn)list object轉(zhuǎn)bigdecimal java get和set方法 python中g(shù)et函數(shù)用法 js set方法 mysql去重復(fù) 保留一條 rstudio使用教程 oracle coalesce python configparser模塊 python strip函數(shù) python調(diào)用dll java concat js 遍歷json js json對(duì)象 js數(shù)組遍歷方法 python 引用 armoury crate打不開 python skimage vue使用jquery js set去重 python的range函數(shù)用法 vue 調(diào)用子組件方法 java反射獲取屬性值 python中find函數(shù)的用法 getclass方法 python中strip函數(shù)的用法 js class類 mysql time類型 python中sorted函數(shù)的用法 cad的基本命令 ubuntu卸載mysql js獲取隨機(jī)數(shù) opencv安裝教程python python numpy教程 js獲取日期 python tkinter教程
    Top 久久夜色精品国产噜噜亚洲a| 亚洲精品国偷自产在线| 亚洲精品欧洲精品| 精品乱码久久久久久夜夜嗨| 国产精品久久新婚兰兰| 久久久久琪琪去精品色无码| 国产精品理论片在线观看| 亚洲精品无码久久久久YW| 久久精品99国产精品日本| 国产成人精品综合在线观看| 人妻少妇精品无码专区动漫| 亚洲精品资源在线| 久久精品国产亚洲一区二区| 第一福利永久视频精品| 国产愉拍精品手机| 亚洲制服丝袜精品久久| 国产精品免费观看调教网| 国产成人99久久亚洲综合精品| 岛国精品在线观看| 久久精品免费一区二区| 亚洲∧v久久久无码精品| 大陆精大陆国产国语精品| 国产精品不卡在线| 国产精品亚洲专区无码WEB| 国产精品香蕉在线一区| 杨幂国产精品福利在线观看 | 亚洲色无码国产精品网站可下载 | 国产精品女同一区二区久久| 国产高清在线精品二区| 亚洲精品9999久久久久无码| 91无码人妻精品一区二区三区L| 久久久久琪琪去精品色无码| 久久96国产精品久久久| 国产亚洲精品a在线观看| 国产精品五月天强力打造| 一区二区三区免费精品视频| 国产精品宾馆在线| 精品香蕉久久久午夜福利| 久久精品国产亚洲av天美18| 在线精品视频一区二区| 国产精品自在拍在线拍|