API中的Runtime类其中有个方法:
Process exec(String[] cmdarray, String[] envp, File dir) 
          在指定环境和工作目录的独立进程中执行指定的命令和变量。 这几个参数cmdarray,envp和dir是怎么取值的,我不是很懂,谁能给我举个例子啊

解决方案 »

  1.   

    采用Runtime的exec执行程序时,首先要使用Runtime的静态方法得到一个Runtime,然后调用Runtime的exec方法。可以将要执行的外部程序和启动参数、环境变量、工作目录作为参数传递给exec方法,该方法执行后返回一个Process代表所执行的程序。Runtime有六个exec方法,其中两个的定义为:public Process exec(String[] cmdarray, String[] envp, File dir)public Process exec(String command, String[] envp, File dir)cmdarray和command为要执行的命令,可以将命令和参数作为一个字符串command传递给exec()方法,也可以将命令和参数一个一个的方在数组cmdarray里传递给exec()方法。envp为环境变量,以name=value的形式放在数组中。dir为工作目录。可以不要dir参数,或者不要envp和dir参数,这样就多出了其它4个exec()方法。如果没有dir参数或者为null,那么新启动的进程就继承当前java进程的工作目录。如果没有envp参数或者为null,那么新启动的进程就继承当前java进程的环境变量。
      

  2.   

    楼上解释的很清楚了  你查查API文档吧  说的很清楚
      

  3.   


    Process Exec
      
     package com.ack.j2se.lang;import java.io.IOException;public class ProcessExec {
      public static void main( String[] argv ) {
        String command = "c:\\winnt\\explorer.exe";    try {
          Process process = Runtime.getRuntime().exec( command );
        }
        catch( IOException ioex ) {
          ioex.printStackTrace();
        }
      }
    }
      

  4.   

    package com.dos;public class DosTest{

    public static void main(String [] args){
    try{
    Process process=Runtime.getRuntime().exec("p.exe");
    process.waitFor();
    System.out.println("DOS Sucess");
    }catch(Exception e){
    e.printStackTrace();
    }

    }} 
      

  5.   

    各位我想要的是个实例来理解,API我也看过,就是理解的不够深
    还是要谢谢各位的帮助