目录

Process exec(String[] cmdarray, String[] envp)

描述 (Description)

java.lang.Runtime.exec(String[] cmdarray, String[] envp)方法在具有指定环境的单独进程中执行指定的命令和参数。 这是一种方便的方法。 调用exec(cmdarray,envp)形式的行为与调用exec(cmdarray,envp,null)完全相同。

声明 (Declaration)

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

public Process exec(String[] cmdarray, String[] envp)

参数 (Parameters)

  • cmdarray - 包含要调用的命令及其参数的数组。

  • envp - 字符串数组,其每个元素的格式为name = value的环境变量设置,如果子进程应继承当前进程的环境,则为null。

返回值 (Return Value)

此方法返回一个用于管理子进程的新Process对象

异常 (Exception)

  • SecurityException - 如果存在安全管理器且其checkExec方法不允许创建子进程

  • IOException - 如果发生I/O错误

  • NullPointerException - 如果command为null

  • IndexOutOfBoundsException - 如果cmdarray是一个空数组(长度为0)

例子 (Example)

此示例需要在CLASSPATH中使用名为example.txt的文件,其中包含以下内容 -

Hello World!

以下示例显示了lang.Runtime.exec()方法的用法。

package com.iowiki;
public class RuntimeDemo {
   public static void main(String[] args) {
      try {
         // create a new array of 2 strings
         String[] cmdArray = new String[2];
         // first argument is the program we want to open
         cmdArray[0] = "notepad.exe";
         // second argument is a txt file we want to open with notepad
         cmdArray[1] = "example.txt";
         // print a message
         System.out.println("Executing notepad.exe and opening example.txt");
         // create a process and execute cmdArray and currect environment
         Process process = Runtime.getRuntime().exec(cmdArray,null);
         // print another message
         System.out.println("example.txt should now open.");
      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

让我们编译并运行上面的程序,这将产生以下结果 -

Executing notepad.exe and opening example.txt
example.txt should now open.
↑回到顶部↑
WIKI教程 @2018