JDK6Tutto che mai vogliate sapere e che dovreste sapere circa Java Runtime.exec ().

Questo vecchio ma ancora articolo dorato � una guida eccellente a usando Runtime.exec (). I punti che chiave discute sono:
1. Dovete vuotare il flusso di input per evitare perch� l'omissione di scrivere subito il flusso di input o di leggere il flusso di uscita del processo secondario pu� indurre il processo secondario ad ostruire e perfino il punto morto.

2. Usi il waitFor () anzich� exitValue () quando volete aspettare il processo per rifinire.

3. Runtime.exec () direttamente non eseguirebbe gli ordini delle coperture come dir/ls, copia/cp ecc. Dovete invocare le coperture cmd.exe/colpo/SH e passare gli ordini delle coperture. Per esempio in finestre il vostro allineamento di ordine per eseguire il dir sarebbe come segue:
cmd [0] = cmd.exe;
cmd [1] = /C;
cmd [2] = dir;

Personalmente ho usato con successo Runtime.exec () in parecchie occasioni. Tutto il programmatore di C dovrebbe trovare rapidamente l'equivalenza con le chiamate di sistema e della forcella nel linguaggio C. Come sempre RTFM.