<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></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 久热这里只有精品视频6| 国产精品偷窥熟女精品视频| 亚洲一区爱区精品无码| 99亚洲乱人伦aⅴ精品| 亚洲av日韩av天堂影片精品| 精品免费AV一区二区三区| 亚洲精品国产情侣av在线| 亚洲精品无码久久一线| 国产手机精品视频| 思思久久好好热精品国产| 国产精品特级毛片一区二区三区 | 人妻少妇看A偷人无码精品视频| 亚洲精品无码MV在线观看| 精品不卡一区中文字幕| 精品香蕉一区二区三区| 久久99热66这里只有精品一| 国产精品视频色视频| 杨幂精品国产福利在线| 精品少妇ay一区二区三区| 久久精品国产精品亚洲艾草网| re99热久久这里只有精品| 麻豆国产精品入口免费观看| 国产cosplay精品视频| 日韩欧精品无码视频无删节| 国产A三级久久精品| 国产伦精品一区二区免费| 国产精品爽爽va在线观看无码| 在线日产精品一区| 精品亚洲AV无码一区二区| 一区二区三区精品| 久久精品国产亚洲av麻豆| 香蕉在线精品视频在线观看6| 日批日出水久久亚洲精品tv| 国产综合精品在线| 日本精品视频一区二区| 国内精品在线播放| 中文精品一区二区三区四区| 精品国产v无码大片在线观看| 91精品久久久久| 99精品视频在线在线视频观看 | 亚洲AV永久无码精品成人|