當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Java.lang.Runtime.exec()用法及代碼示例



描述

這個java.lang.Runtime.exec(String command, String[] envp, File dir)方法 在具有指定環境和工作目錄的單獨進程中執行指定的字符串命令。這是一種方便的方法。 exec(command, envp, dir) 形式的調用與調用 exec(cmdarray, envp, dir) 的行為完全相同,其中 cmdarray 是 command 中所有標記的數組。

更準確地說,使用由調用 new StringTokenizer(command) 創建的 StringTokenizer 將命令字符串分解為標記,而無需進一步修改字符類別。然後將分詞器生成的標記以相同的順序放置在新的字符串數組 cmdarray 中。

聲明

以下是聲明java.lang.Runtime.exec()方法

public Process exec(String command, String[] envp, File dir)

參數

  • command- 指定的係統命令。

  • envp- 字符串數組,其中每個元素都具有格式名稱=值的環境變量設置,如果子進程應該繼承當前進程的環境,則為null。

  • dir- 子進程的工作目錄,如果子進程應該繼承當前進程的工作目錄,則為null。

返回值

此方法返回一個新的 Process 對象,用於管理子流程

異常

  • SecurityException− 如果安全管理器存在且其 checkExec 方法不允許創建子進程

  • IOException− 如果發生 I/O 錯誤

  • NullPointerException− 如果 command 為空,或者 envp 的元素之一為空

  • IllegalArgumentException− 如果命令為空

示例

下麵的例子展示了 lang.Runtime.exec() 方法的用法。

package com.tutorialspoint;

import java.io.File;

public class RuntimeDemo {

   public static void main(String[] args) {
      try {

      // print a message
      System.out.println("Executing notepad.exe...");

      // create a file with the working directory we wish
      File dir = new File("C:/");

      // create a process and execute notepad.exe and currect environment
      Process process = Runtime.getRuntime().exec("notepad.exe", null, dir);

      // print another message
      System.out.println("Notepad should now open.");

      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

讓我們編譯並運行上麵的程序,這將產生以下結果 -

Executing notepad.exe...
Notepad should now open.

相關用法


注:本文由純淨天空篩選整理自 Java.lang.Runtime.exec() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。