最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java Process類的詳解及實(shí)例代碼

 更新時(shí)間:2017年02月27日 15:17:07   投稿:lqh  
這篇文章主要介紹了Java Process類的詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

Java Process類的詳解

前言:

      今天用了下Java.lang.Process類,只是初步的學(xué)習(xí),并沒有深入實(shí)踐,因?yàn)楦杏X它的用途并不是很大,偶爾才可能用上,如果要經(jīng)常使用它的人可以自行參考JDk文檔。

      對(duì)Process類的簡(jiǎn)要說明:

     Process類是一個(gè)抽象類,方法都是抽象的,它封裝了一個(gè)進(jìn)程,也就是一個(gè)可執(zhí)行的程序  該類提供進(jìn)程的輸入、執(zhí)行輸出到進(jìn)程、等待進(jìn)程的完成和檢查進(jìn)程的退出狀態(tài)及銷毀進(jìn)程的方法

     ProcessBuilder.start()和Runtime.exec方法創(chuàng)建一個(gè)本機(jī)進(jìn)程并返回Process子類的一個(gè)實(shí)例,該實(shí)例可以控制進(jìn)程并獲取相關(guān)的信息

     其它的概要請(qǐng)參考JDK文檔

     下面就開始舉幾個(gè)簡(jiǎn)單的示例:

     (1)執(zhí)行簡(jiǎn)單的DOS命令,如打開一個(gè)記事本

package com.iwtxokhtd.other;  
 
import java.io.IOException;  
 
public class ProcessTest {  
 
  public static void main(String[] args) {  
    try {  
            Process proc=Runtime.getRuntime().exec("notepad");  
    } catch (IOException e) {  
      // TODO Auto-generated catch block  
      e.printStackTrace();  
    }  
 
  }  
 
} 

package com.iwtxokhtd.other; 
 
import java.io.IOException; 
 
public class ProcessTest { 
 
  public static void main(String[] args) { 
    try { 
            Process proc=Runtime.getRuntime().exec("notepad"); 
    } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
    } 
 
  } 
 
} 

 (2)使用它的其它構(gòu)造方法執(zhí)行相關(guān)的命令,如下例:

package com.iwtxokhtd.other;  
 
import java.io.IOException;  
 
public class ProcessTest {  
 
  public static void main(String[] args) {  
    try {  
        
      String exeFullPathName="C:/Program Files/Internet Explorer/IEXPLORE.EXE";  
      String message="www.google.com";  
      String []cmd={exeFullPathName,message};  
      Process proc=Runtime.getRuntime().exec(cmd);  
    } catch (IOException e) {  
      // TODO Auto-generated catch block  
      e.printStackTrace();  
    }  
 
  }  
 
} 


package com.iwtxokhtd.other; 
 
import java.io.IOException; 
 
public class ProcessTest { 
 
  public static void main(String[] args) { 
    try { 
       
      String exeFullPathName="C:/Program Files/Internet Explorer/IEXPLORE.EXE"; 
      String message="www.google.com"; 
      String []cmd={exeFullPathName,message}; 
      Process proc=Runtime.getRuntime().exec(cmd); 
    } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
    } 
 
  } 
 
} 

 執(zhí)行上述命令可以打開Google網(wǎng)站

(3)列出系統(tǒng)正在運(yùn)行的所有進(jìn)程信息

package com.iwtxokhtd.other;  
 
import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStreamReader;  
 
public class ListAllProcessTest {  
 
  //列出所有的進(jìn)程信息  
  public static void main(String[] args) {  
    BufferedReader br=null;  
    try {  
      Process proc=Runtime.getRuntime().exec("tasklist");  
      br=new BufferedReader(new InputStreamReader(proc.getInputStream()));  
      @SuppressWarnings("unused")  
      String line=null;  
      System.out.println("打印所有正在運(yùn)行的進(jìn)程信息");  
      while((line=br.readLine())!=null){  
        System.out.println(br.readLine());  
      }  
    } catch (IOException e) {  
      e.printStackTrace();  
    }finally{  
      if(br!=null){  
        try {  
          br.close();  
        } catch (Exception e) {  
          e.printStackTrace();  
        }  
      }  
    }  
      
 
  }  
 
} 


package com.iwtxokhtd.other; 
 
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
 
public class ListAllProcessTest { 
 
  //列出所有的進(jìn)程信息 
  public static void main(String[] args) { 
    BufferedReader br=null; 
    try { 
      Process proc=Runtime.getRuntime().exec("tasklist"); 
      br=new BufferedReader(new InputStreamReader(proc.getInputStream())); 
      @SuppressWarnings("unused") 
      String line=null; 
      System.out.println("打印所有正在運(yùn)行的進(jìn)程信息"); 
      while((line=br.readLine())!=null){ 
        System.out.println(br.readLine()); 
      } 
    } catch (IOException e) { 
      e.printStackTrace(); 
    }finally{ 
      if(br!=null){ 
        try { 
          br.close(); 
        } catch (Exception e) { 
          e.printStackTrace(); 
        } 
      } 
    } 
     
 
  } 
 
} 

(4)判斷一個(gè)具體的進(jìn)程是否正在運(yùn)行,如下例:

package com.iwtxokhtd.other;  
import java.io.BufferedReader;  
import java.io.InputStreamReader;  
public class FindProcessExeTest  
{  
  public static void main(String []args){  
      
    if(findProcess("QQ.exe")){  
      System.out.println("------判斷指定的進(jìn)程是否在運(yùn)行------");  
      System.out.println("QQ.exe該進(jìn)程正在運(yùn)行!");  
    }else{  
      System.out.println("------判斷指定的進(jìn)程是否在運(yùn)行------");  
      System.out.println("QQ.exe該進(jìn)程沒有在運(yùn)行!");  
    }  
 
  }  
  public static boolean findProcess(String processName){  
    BufferedReader br=null;  
    try{  
       
      //下面這句是列出含有processName的進(jìn)程圖像名  
      Process proc=Runtime.getRuntime().exec("tasklist /FI /"IMAGENAME eq "+processName+"/"");  
      br=new BufferedReader(new InputStreamReader(proc.getInputStream()));  
      String line=null;  
      while((line=br.readLine())!=null){  
        //判斷指定的進(jìn)程是否在運(yùn)行  
        if(line.contains(processName)){  
          return true;  
        }  
      }  
        
      return false;  
    }catch(Exception e){  
      e.printStackTrace();  
      return false;  
    }finally{  
      if(br!=null){  
        try{  
          br.close();  
        }catch(Exception ex){  
        }  
      }  
        
    }  
  }  
} 


package com.iwtxokhtd.other; 
import java.io.BufferedReader; 
import java.io.InputStreamReader; 
public class FindProcessExeTest 
{ 
  public static void main(String []args){ 
     
    if(findProcess("QQ.exe")){ 
      System.out.println("------判斷指定的進(jìn)程是否在運(yùn)行------"); 
      System.out.println("QQ.exe該進(jìn)程正在運(yùn)行!"); 
    }else{ 
      System.out.println("------判斷指定的進(jìn)程是否在運(yùn)行------"); 
      System.out.println("QQ.exe該進(jìn)程沒有在運(yùn)行!"); 
    } 
 
  } 
  public static boolean findProcess(String processName){ 
    BufferedReader br=null; 
    try{ 
       
      //下面這句是列出含有processName的進(jìn)程圖像名 
      Process proc=Runtime.getRuntime().exec("tasklist /FI /"IMAGENAME eq "+processName+"/""); 
      br=new BufferedReader(new InputStreamReader(proc.getInputStream())); 
      String line=null; 
      while((line=br.readLine())!=null){ 
        //判斷指定的進(jìn)程是否在運(yùn)行 
        if(line.contains(processName)){ 
          return true; 
        } 
      } 
       
      return false; 
    }catch(Exception e){ 
      e.printStackTrace(); 
      return false; 
    }finally{ 
      if(br!=null){ 
        try{ 
          br.close(); 
        }catch(Exception ex){ 
        } 
      } 
       
    } 
  } 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • SpringBoot攔截器以及源碼詳析

    SpringBoot攔截器以及源碼詳析

    攔截器在我們平時(shí)的項(xiàng)目中用處有很多,如:日志記錄(我們后續(xù)章節(jié)會(huì)講到)、用戶登錄狀態(tài)攔截、安全攔截等等,所以下面這篇文章主要給大家介紹了關(guān)于SpringBoot攔截器以及源碼的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • Java網(wǎng)絡(luò)編程實(shí)現(xiàn)多線程聊天

    Java網(wǎng)絡(luò)編程實(shí)現(xiàn)多線程聊天

    這篇文章主要為大家詳細(xì)介紹了Java網(wǎng)絡(luò)編程實(shí)現(xiàn)多線程聊天,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Java編程中靜態(tài)內(nèi)部類與同步類的寫法示例

    Java編程中靜態(tài)內(nèi)部類與同步類的寫法示例

    這篇文章主要介紹了Java編程中靜態(tài)內(nèi)部類與同步類的寫法示例,用于構(gòu)建靜態(tài)對(duì)象以及實(shí)現(xiàn)線程同步等,需要的朋友可以參考下
    2015-09-09
  • Java中ArrayList的使用詳細(xì)介紹

    Java中ArrayList的使用詳細(xì)介紹

    這篇文章主要介紹了Java中ArrayList的使用,本文給大家詳細(xì)講述該相關(guān)的知識(shí)點(diǎn),并且會(huì)通過大量的案例加以說明,需要的朋友可以參考一下
    2022-04-04
  • java中怎樣表示圓周率

    java中怎樣表示圓周率

    這篇文章主要介紹了java中怎樣表示圓周率問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Java 定時(shí)器的使用示例

    Java 定時(shí)器的使用示例

    這篇文章主要介紹了Java 定時(shí)器的使用,幫助大家更好的理解和使用Java time類,感興趣的朋友可以了解下
    2020-09-09
  • Spring中@Transactional用法詳細(xì)介紹

    Spring中@Transactional用法詳細(xì)介紹

    這篇文章主要介紹了Spring中@Transactional用法詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Java實(shí)現(xiàn)字符編碼轉(zhuǎn)換(utf-8/gbk)

    Java實(shí)現(xiàn)字符編碼轉(zhuǎn)換(utf-8/gbk)

    這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)字符編碼轉(zhuǎn)換工具,主要針對(duì)UTF-8和GBK兩種編碼格式,文中的示例代碼講解詳,需要的可以了解下
    2025-03-03
  • springboot集成mybatis-maven插件自動(dòng)生成pojo的詳細(xì)教程

    springboot集成mybatis-maven插件自動(dòng)生成pojo的詳細(xì)教程

    這篇文章主要介紹了springboot集成mybatis-maven插件自動(dòng)生成pojo的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 詳解Java的Hibernate框架中的注解與緩存

    詳解Java的Hibernate框架中的注解與緩存

    這篇文章主要介紹了詳解Java的Hibernate框架中的注解與緩存,Hibernate是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2015-12-12

最新評(píng)論

贵南县| 建瓯市| 德昌县| 集安市| 同德县| 竹北市| 滨州市| 昔阳县| 阜阳市| 七台河市| 尤溪县| 宁阳县| 镇雄县| 长岛县| 郧西县| 鄂托克前旗| 沂南县| 清水河县| 陵川县| 西乌珠穆沁旗| 水城县| 辉县市| 周宁县| 利辛县| 策勒县| 建水县| 绿春县| 湖州市| 珲春市| 永宁县| 廉江市| 睢宁县| 河西区| 林州市| 太湖县| 峨眉山市| 锦州市| 渝北区| 贵港市| 临潭县| 海南省|