Java.lang.Runtime.exec() 方法

描述

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


声明

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

public Process exec(String[] cmdarray)

参数

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


返回值

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


异常

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

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

  • NullPointerException − 如果命令为空

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


示例

这个例子需要在我们的 CLASSPATH 中有一个名为 example.txt 的文件,其内容如下 −

Hello World!

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

package com.tutorialspoint;

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
         Process process = Runtime.getRuntime().exec(cmdArray);

         // 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.