<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级毛片久久久精品毛片| 91久久精品电影| 国产精品成熟老妇女| 久久福利青草精品资源站| 精品视频国产狼友视频| 99热在线只有精品| 久久99精品久久久久久不卡| 国内精品自在自线视频| 无码国产精品一区二区免费式芒果 | 日韩精品视频观看| 久久精品国产亚洲av麻豆小说| 国产精品 一区 在线| 人妻熟妇乱又伦精品HD| 91精品国产一区| 99精品在线观看| 九色国产在视频线精品视频| 老司机在线精品视频| 无码国内精品久久人妻| 97精品国产91久久久久久| 国产精品久久久久一区二区| 97精品人妻系列无码人妻| 日本aⅴ精品中文字幕| 2022国产成人精品视频人| 免费观看四虎精品国产永久| 国产综合色香蕉精品五月婷| 久久精品人人做人人爽电影蜜月| 99热这里只有精品在线| 亚洲高清国产拍精品青青草原 | 99国产精品永久免费视频| 久久99精品久久久久久青青日本| 精品国精品国产自在久国产应用男| 国产成人福利精品视频| 亚洲国产精品无码久久九九大片 | 精品熟女少妇AV免费观看| 久久99精品久久久大学生| 99久热只有精品视频免费观看17| 精品一区二区三区四区| a级亚洲片精品久久久久久久| 国产乱子伦精品免费视频| 青青热久久国产久精品 | 538精品视频在线观看|