PDA

View Full Version : [JAVA] Reindirizzamento output


IngegnerCane
18-03-2009, 14:15
Ciao, ho un problema con l'esecuzione dei comandi con la classe ProcessBuilder.

ProcessBuilder pb = new ProcessBuilder(comando);
pb.directory(wd);
Process proc=pb.start();

Se infatti passo un comando che prevede l'utilizzo del carattere '>' per reindirizzare l'output su un file, il comando non viene eseguito. Come mai? L'utilizzo del reindirizzamento nel comando è obbligatorio altrimenti il programma non parte.
HELP

banryu79
18-03-2009, 16:31
Se infatti passo un comando che prevede l'utilizzo del carattere '>' per reindirizzare l'output su un file, il comando non viene eseguito. Come mai? L'utilizzo del reindirizzamento nel comando è obbligatorio altrimenti il programma non parte.
HELP

Puoi scrivere il contenuto di "comando" in un file .bat e lanci quello: in questo modo dovrebbe funzionare.
A parte la conoscenza delle classi di per se, per lanciare con successo un processo esterno alla JVM è consigliabile approfondire alcune questioni.

Questo articolo (http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html) fa luce su alcuni "punti oscuri" nell'uso delle classi Process e ProcessBuilder, se già non lo hai letto.

IngegnerCane
20-03-2009, 09:41
Puoi scrivere il contenuto di "comando" in un file .bat e lanci quello: in questo modo dovrebbe funzionare.


Sì,ci avevo pensato,il problema è ke io devo tener traccia del processo con un puntatore x monitorarlo e/o terminarlo mentre lanciando un file .bat ottengo il puntatore a tale processo e non al programma che lancio..