<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 亚洲精品在线免费观看视频| 国产精品第一区第27页| 精品一区二区久久| 国产色无码精品视频国产| 97国产精品视频观看一| 久久夜色撩人精品国产小说| 人妻少妇精品专区性色AV| 久久er这里只有精品| 精品一区二区三区四区在线| 99视频在线精品免费观看6| 91精品免费观看| av蓝导航精品导航| 国产在线精品一区在线观看| 麻豆果冻传媒2021精品传媒一区下载| 国产精品看高国产精品不卡| 国产免费久久精品99久久| 自拍偷自拍亚洲精品播放| 国产精品视频网站| 亚洲国产综合精品中文第一区| 国产乱子伦精品无码专区| 国产亚洲精品美女久久久久久下载| 99在线精品国自产拍中文字幕| 久久精品中文无码资源站| 国产AV午夜精品一区二区三| 国产精品无码无卡无需播放器| 国产精品亚洲专区在线播放| 香港三级精品三级在线专区| 国产夫妇精品自在线| 精品一区二区三区免费毛片爱| 久久精品动漫一区二区三区| 国内精品51视频在线观看| 国产中文在线亚洲精品官网| 国产精品 码ls字幕影视| 七月婷婷精品视频在线观看| 国产在线精品二区韩国演艺界 | 国产精品一区二区久久乐下载| 国产亚洲精品成人AA片| 国产成人精品日本亚洲18图| 亚洲精品在线电影| 久久精品国产免费观看| 亚洲中文字幕久久精品无码2021|