位置:首页 > Java技术 > java.lang > java.lang.ProcessBuilder.start()方法实例

java.lang.ProcessBuilder.start()方法实例

java.lang.ProcessBuilder.start() 方法使用此进程生成器的属性来启动一个新进程。新进程将调用command()命令和参数(假设),在工作目录所给出的directory(),有一个过程的环境所给出的environment()。此方法检查该命令是一个有效的操作系统命令。这命令是有效取决于系统,但最起码的命令必须非空字符串的非空列表。

如果有安全管理器,checkExec方法被调用这个对象的命令数组作为参数的第一个组件。这可能会导致SecurityException被抛出。

声明

以下是java.lang.ProcessBuilder.start()方法的声明

public Process start()

参数

  • NA

返回值

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

异常

  • NullPointerException -- 如果命令列表中的一个元素是空

  • IndexOutOfBoundsException -- 如果命令是一个空表(有大小0)

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

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

例子

下面的例子显示lang.ProcessBuilder.start()方法的使用。

package com.yiibai;

import java.io.IOException;

public class ProcessBuilderDemo {

   public static void main(String[] args) {

      // create a new list of arguments for our process
      String[] list = {"notepad.exe", "test.txt"};

      // create the process builder
      ProcessBuilder pb = new ProcessBuilder(list);
      try {
         // start the subprocess
         System.out.println("Starting the process..");
         pb.start();
      } catch (IOException ex) {
         ex.printStackTrace();
      }
   }
}

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

Starting the process..