Magari può servire a qualcuno...ho risolto il problema:
Faccio partire il programma esterno in un Thread, inoltre faccio partire un altro Thread che legge costantemente l'ouput del programma un carattere alla volta, mentre dal main mi occupo della gestione dell'input.
Il modo corretto per avviare il programma è
eventualmente aggiungendo il percorso assoluto anche di cmd.execodice:process = Runtime.getRuntime().exec("cmd.exe /C G:\\Pascal\\Build\\Galileo.exe", null, new File("G:\\Pascal\Build"));
Inoltre, non so perché, ma informo che il seguente codice - che dovrebbe essere equivalente - non funziona.
codice:ProcessBuilder builder = new ProcessBuilder("G:\\Pascal\\Build\\Galileo.exe"); builder.directory(new File("G:\\Pascal\\Build")); process = builder.start();![]()
![]()
![]()

Rispondi quotando