Runtime.exec() S.o.S
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
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