Runtime.exec() S.o.S

maribelsita
28 de Marzo del 2005
hola a todos:
quiero hacer un programa que me permita hacer lo que normalmente hacia dal comand
osea:
c:programaspro.exe +l +t prova .java
esto me creaba dei files dentro la cartella programas

cmd="c:\programas\pro.exe +l +t prova .java"
env=null
public String[] runCommand(String cmd, String env[] , File dir) throws IOException {

ArrayList list = new ArrayList();
File fil=new File("c:\programas\pepita");
fil.mkdir();
// Avvio il programma

Process proc = Runtime.getRuntime().exec(cmd, env,fil);
// Leggo il ritorno del programma

InputStream istr = proc.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(istr));


String str;
while ((str = br.readLine()) != null)
list.add(str);

// Aspetto che il programma termini

try {
proc.waitFor();

}
catch (InterruptedException e) {
System.err.println("process was interrupted");
}

// check its exit value

if (proc.exitValue() != 0)
System.err.println("exit value was non-zero");

// close stream

br.close();

// return list of strings to caller

return (String[])list.toArray(new String[0]);
}

El programa funciona si meto fil=null, basta que le dea un valor para que me venga error alguien sabe pork?
gracias a todos