<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 国产精品无码久久四虎| 国产亚洲精品高清在线| 日韩精品内射视频免费观看| 国产成人精品视频午夜| 日产精品一二三四区国产| 亚洲乱码精品久久久久..| 国产a久久精品一区二区三区| 久久久久久久精品成人热色戒| 国产AV国片精品有毛| 99久久99久久精品| 亚洲精品无码午夜福利中文字幕| 精品一区二区高清在线观看| 亚洲高清国产拍精品熟女| 精品无人码麻豆乱码1区2区| 久久久国产精品网站| 中文字幕无码精品亚洲资源网| 精品一区二区三区影院在线午夜| 人妻熟妇乱又伦精品HD| 国产精品亚洲精品观看不卡| 久久99精品视免费看| 一本一本久久A久久综合精品 | 国产精品一区二区不卡| 久久精品隔壁老王影院| 骚包在线精品国产美女| 久久er国产精品免费观看8| 亚洲日韩国产精品乱| 国产成人综合精品| 精品久久久中文字幕二区| 精品国产乱码久久久久久郑州公司 | 久久精品国产亚洲7777| 国产成人综合精品一区| 日韩人妻无码精品无码中文字幕| 精品国产一区二区三区av片| 青青青青久久精品国产h| 精品乱人伦一区二区三区| 国产一区二区精品尤物| 久久午夜无码鲁丝片午夜精品| 久久99精品久久久久久噜噜| 国产色精品vr一区区三区| 久久亚洲中文字幕精品一区四| 精品国产一区二区三区2021|