位置:首頁 > 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..