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

Windows系統(tǒng)中Java調(diào)用cmd命令及執(zhí)行exe程序的方法

 更新時(shí)間:2016年03月12日 08:57:58   作者:qiaolevip  
這篇文章主要介紹了Windows系統(tǒng)中Java調(diào)用cmd命令及執(zhí)行exe程序的方法,主要用到了IOException類,需要的朋友可以參考下

Java調(diào)用cmd命令,并輸出顯示信息:

package com.anxin.cmd.test; 
 
import java.io.BufferedReader; 
import java.io.InputStreamReader; 

public class Command { 
 
 public static void main(String[] args) { 
  try { 
   Runtime rt = Runtime.getRuntime(); 
   Process pr = rt.exec("cmd /c dir"); // cmd /c calc 
   // Process pr = rt.exec("D:\\xunlei\\project.aspx"); 
 
   BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream(), "GBK")); 
 
   String line = null; 
 
   while ((line = input.readLine()) != null) { 
    System.out.println(line); 
   } 
 
   int exitVal = pr.waitFor(); 
   System.out.println("Exited with error code " + exitVal); 
 
  } catch (Exception e) { 
   System.out.println(e.toString()); 
   e.printStackTrace(); 
  } 
 } 
} 

Java啟動本機(jī)應(yīng)用程序EXE的三種方式:

第一種方式:利用cmd方式 

/** 
 * 執(zhí)行cmd命令 
 * 
 * @param command 
 * @throws IOException 
 */ 
public static String executeCmd(String command) throws IOException { 
 log.info("Execute command : " + command); 
 Runtime runtime = Runtime.getRuntime(); 
 Process process = runtime.exec("cmd /c " + command); 
 BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-8")); 
 String line = null; 
 StringBuilder build = new StringBuilder(); 
 while ((line = br.readLine()) != null) { 
  log.info(line); 
  build.append(line); 
 } 
 return build.toString(); 
} 
 
executeCmd(start "AXAdWebBrowser" "D:\AXAdsBrowser\AXAdWebBrowser.exe"); 

第二種方式:利用ProcessBuilder調(diào)用cmd方式

/** 
 * 啟動應(yīng)用程序 
 * 
 * @param programName 
 * @return 
 * @throws IOException 
 */ 
public static void startProgram(String programPath) throws IOException { 
 log.info("啟動應(yīng)用程序:" + programPath); 
 if (StringUtils.isNotBlank(programPath)) { 
  try { 
   String programName = programPath.substring(programPath.lastIndexOf("/") + 1, programPath.lastIndexOf(".")); 
   List<String> list = new ArrayList<String>(); 
   list.add("cmd.exe"); 
   list.add("/c"); 
   list.add("start"); 
   list.add("\"" + programName + "\""); 
   list.add("\"" + programPath + "\""); 
   ProcessBuilder pBuilder = new ProcessBuilder(list); 
   pBuilder.start(); 
  } catch (Exception e) { 
   e.printStackTrace(); 
   log.error("應(yīng)用程序:" + programPath + "不存在!"); 
  } 
 } 
} 

第三種方式:使用Desktop啟動應(yīng)用程序 

/** 
 * 啟動應(yīng)用程序 
 * 
 * @param programName 
 * @return 
 * @throws IOException 
 */ 
public static void startProgram(String programPath) throws IOException { 
 log.info("啟動應(yīng)用程序:" + programPath); 
 if (StringUtils.isNotBlank(programPath)) { 
  try { 
   Desktop.getDesktop().open(new File(programPath)); 
  } catch (Exception e) { 
   e.printStackTrace(); 
   log.error("應(yīng)用程序:" + programPath + "不存在!"); 
  } 
 } 
} 

相關(guān)文章

  • Hadoop多Job并行處理的實(shí)例詳解

    Hadoop多Job并行處理的實(shí)例詳解

    這篇文章主要介紹了Hadoop多Job并行處理的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • SpringBoot?快速實(shí)現(xiàn)?api?接口加解密功能

    SpringBoot?快速實(shí)現(xiàn)?api?接口加解密功能

    在項(xiàng)目中,為了保證數(shù)據(jù)的安全,我們常常會對傳遞的數(shù)據(jù)進(jìn)行加密,Spring?Boot接口加密,可以對返回值、參數(shù)值通過注解的方式自動加解密,這篇文章主要介紹了SpringBoot?快速實(shí)現(xiàn)?api?接口加解密功能,感興趣的朋友一起看看吧
    2023-10-10
  • 解析Java異步之call future

    解析Java異步之call future

    當(dāng)調(diào)用一個(gè)函數(shù)的時(shí)候,如果這個(gè)函數(shù)的執(zhí)行過程是很耗時(shí)的,就必須要等待,但是有時(shí)候并不急著要這個(gè)函數(shù)返回的結(jié)果。因此,可以讓被調(diào)者立即返回,讓他在后臺慢慢處理這個(gè)請求。對于調(diào)用者來說,可以先處理一些其他事情,在真正需要數(shù)據(jù)的時(shí)候再去嘗試獲得需要的數(shù)據(jù)
    2021-06-06
  • java 字符串相減(很簡單的一個(gè)方法)

    java 字符串相減(很簡單的一個(gè)方法)

    本篇文章是對java中關(guān)于字符串相減的一個(gè)簡單的方法進(jìn)行了介紹,需要的朋友參考下
    2013-07-07
  • Java設(shè)計(jì)模式之享元模式

    Java設(shè)計(jì)模式之享元模式

    這篇文章介紹了Java設(shè)計(jì)模式之享元模式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • java多線程編程之使用runnable接口創(chuàng)建線程

    java多線程編程之使用runnable接口創(chuàng)建線程

    實(shí)現(xiàn)Runnable接口的類必須使用Thread類的實(shí)例才能創(chuàng)建線程,通過Runnable接口創(chuàng)建線程分為以下兩步
    2014-01-01
  • java Signleton模式詳解及示例代碼

    java Signleton模式詳解及示例代碼

    Singleton模式是創(chuàng)建模式。這種模式只涉及一個(gè)類是負(fù)責(zé)創(chuàng)建自己的對象。該類確保只有一個(gè)對象獲得創(chuàng)建。這個(gè)類提供了一種方法來訪問它的唯一對象
    2016-10-10
  • spring中@Autowired自動注入依賴項(xiàng)的使用

    spring中@Autowired自動注入依賴項(xiàng)的使用

    當(dāng)使用@Autowired注解時(shí),它可以自動注入依賴項(xiàng),例如其他類的實(shí)例,本文就來詳細(xì)的介紹一下,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • Spring Boot 連接LDAP的方法

    Spring Boot 連接LDAP的方法

    這篇文章主要介紹了Spring Boot 連接LDAP的方法,僅僅涉及基本的使用ODM來快速實(shí)現(xiàn)LDAP增刪改查操作。具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-12-12
  • java數(shù)據(jù)庫連接池和數(shù)據(jù)庫連接示例

    java數(shù)據(jù)庫連接池和數(shù)據(jù)庫連接示例

    這篇文章主要介紹了java數(shù)據(jù)庫連接池和數(shù)據(jù)庫連接示例,需要的朋友可以參考下
    2014-05-05

最新評論

奉化市| 武山县| 福鼎市| 明水县| 郯城县| 成安县| 敦煌市| 太康县| 姚安县| 高密市| 芒康县| 梅州市| 黔江区| 竹溪县| 玉屏| 鄯善县| 张家口市| 黄龙县| 大新县| 会泽县| 颍上县| 巴东县| 高雄县| 衡山县| 太谷县| 织金县| 嘉义市| 墨竹工卡县| 乌恰县| 庆阳市| 虹口区| 三明市| 文成县| 奉新县| 当阳市| 射阳县| 淮安市| 德惠市| 堆龙德庆县| 独山县| 彭山县|