成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java調用系統命令或可執行程序的方法介紹

開發 后端
本文介紹了如何使得JAVA調用系統命令或可執行程序,并且舉了一個小例子進行說明。

通過java.lang.Runtime 類可以方便的調用操作系統命令,或者一個可執行程序,下面的小例子我在windows和linux分別測試過,都通過?;驹硎牵紫韧ㄟ^ Runtime.getRuntime() 返回與當前Java 應用程序相關的運行時對象,然后調用run.exec(cmd)  另啟一個進程來執行命令(cmd為要執行的命令)。

一、JAVA調用可執行程序

執行一個.exe的文件,或通過已安裝的軟件打開一個特定格式的文件,如word、chm或mp3等等。

1. 在window下可以直接執行一個.exe文件,如執行我在F盤下的tomcat安裝文件,將命令寫為:

  1. String cmd = "F:\\apache-tomcat-6.0.20.exe"

2. 打開一個word文檔。如果系統已經安裝了office應用程序,就可以通過調用word的可執行程序來打開一個word文檔:

  1. String cmd = "D:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE F:\\test.doc"

當然這樣寫有點麻煩,我們想打開一個word文檔時只要雙擊就可以了,用不著去找WINWORD.EXE。要是打開每一種格式的文件都得去找它的可執行程序,那可累死了,我們可以通過下面的代碼,打開任意一個已知格式的文件(只要安裝的打開這種文件格式的軟件),相當于用鼠標雙擊一個文件的圖標:

  1. String cmd = "cmd.exe /c start F:\\test.doc"

我用C寫了一個進程操作的小例子,放在 linux 下編譯出的可執行文件叫“fork_wait”,然后把我的java文件編譯成TestRunTime.class后扔到 linux 上,在控制臺執行 java TestRunTime 命令,TestRunTime 和 fork_wait 程序均運行成功。

  1. String cmd = "./fork_wait"

二、JAVA調用系統命令

通過調用進程的 getInputStream() 方法,可以獲得執行命令的標準輸出。在 windows 的cmd控制臺窗口和 linux 控制臺執行系統名利的格式是一樣的,只是輸入的命令不同而已。

如要執行windows控制臺中ping命令,可寫為:String cmd = "ping

執行linux的ls命令,可寫為:String cmd = "ls -l";

如果要執行一個帶參數的命令,可使用 String 數組形式,如:

  1. String[] cmd=new String[3];  
  2. cmd[0]="/bin/sh";  
  3. cmd[1]="-c";  
  4. cmd[2]="ls -l ./"

下面是我寫的小例子:

Java代碼

  1. package com.why.RunTime;     
  2. import java.io.BufferedInputStream;     
  3. import java.io.BufferedReader;     
  4. import java.io.InputStreamReader;     
  5.     
  6. public class TestRunTime {     
  7.     public static void main(String[] args) {     
  8.         //windows     
  9. //      String cmd = "F:\\apache-tomcat-6.0.20.exe";     
  10. //      String cmd = "D:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE F:\\test.doc";     
  11. //      String cmd = "cmd.exe /c start F:\\test.doc";     
  12.         String cmd = "ping www.baidu.com";     
  13.              
  14.         //linux     
  15. //      String cmd = "./fork_wait";     
  16. //      String cmd = "ls -l";     
  17. //      String[] cmd=new String[3];     
  18. //      cmd[0]="/bin/sh";     
  19. //      cmd[1]="-c";     
  20. //      cmd[2]="ls -l ./";     
  21.         Runtime run = Runtime.getRuntime();//返回與當前 Java 應用程序相關的運行時對象     
  22.         try {     
  23.             Process p = run.exec(cmd);// 啟動另一個進程來執行命令     
  24.             BufferedInputStream in = new BufferedInputStream(p.getInputStream());     
  25.             BufferedReader inBr = new BufferedReader(new InputStreamReader(in));     
  26.             String lineStr;     
  27.             while ((lineStr = inBr.readLine()) != null)     
  28.                 //獲得命令執行后在控制臺的輸出信息     
  29.                 System.out.println(lineStr);// 打印輸出信息     
  30.             //檢查命令是否執行失敗。     
  31.             if (p.waitFor() != 0) {     
  32.                 if (p.exitValue() == 1)//p.exitValue()==0表示正常結束,1:非正常結束     
  33.                     System.err.println("命令執行失敗!");     
  34.             }     
  35.             inBr.close();     
  36.             in.close();     
  37.         } catch (Exception e) {     
  38.             e.printStackTrace();     
  39.         }     
  40.     }     
  41. }   

JAVA調用系統命令或可執行程序的方法就給大家介紹到這里。

【編輯推薦】

  1. 多核時代考驗Java代碼編寫習慣
  2. JSR通過JavaEE 6依賴注入標準 各方觀點不一
  3. Sun發布JDK 7早期預覽版 JVM性能大幅提升
  4. 來自一年前的預測:Java平臺與死亡相去甚遠
  5. Java新型垃圾回收器G1深入探索
責任編輯:book05 來源: javaeye
相關推薦

2024-03-08 09:34:35

JpackageJarJava

2010-03-23 10:29:28

Python程序編譯轉

2010-03-26 14:49:04

Python腳本

2022-06-17 07:57:53

攔截包裝軟鏈接

2021-08-12 09:17:18

WFH漏洞劫持攻擊

2009-04-16 10:37:17

Javaexejar

2022-01-11 09:59:23

Python關機程序文件

2009-12-25 16:21:41

shell命令

2022-02-04 22:05:19

JVM程序內存模型

2012-05-29 15:17:08

JavaWMIC

2011-09-19 19:21:54

linux

2015-02-02 11:03:12

2010-07-15 10:58:23

Perl命令行程序

2020-02-06 10:10:24

python程序代碼

2019-04-16 06:50:34

2016-03-28 10:00:09

Swift命令程序

2023-03-31 08:44:55

Go開發命令

2010-05-07 15:49:16

ibmdw嵌入式

2009-07-08 15:18:00

JAR文件包jar命令

2011-11-17 10:34:44

并行程序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产久 | 琪琪午夜伦伦电影福利片 | 黄免费在线 | 午夜av在线 | 日韩视频福利 | 国产成人av免费看 | 精品区一区二区 | 日日干日日射 | 久久精品一级 | 黄色国产大片 | 欧美黄色绿像 | 春色av | www.99热这里只有精品 | 国产精品乱码一区二区三区 | 欧美黄色绿像 | 美女黄频 | 91九色porny首页最多播放 | 91亚洲国产亚洲国产 | 在线日韩福利 | 国产精品亚洲成在人线 | 欧美日韩高清在线观看 | 麻豆视频国产在线观看 | 亚洲中国字幕 | 国产一区二区久久 | 在线视频一区二区 | 日韩欧美一区二区三区在线播放 | 在线观看国产网站 | 在线观看视频福利 | 精品自拍视频 | 国产日韩欧美在线播放 | 久久久国产亚洲精品 | 国产成人高清成人av片在线看 | 亚洲国产精品视频 | 精品久久久久一区二区国产 | 久久久久九九九女人毛片 | 国产精品久久久久久久久久久久久 | 国产精品久久国产愉拍 | www.日韩在线 | av中文网| 日韩国产在线 | 久久精品久久久久久 |