当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。