Originariamente inviato da scamiolo
Salve a tutti,
sono un principiante di Java e vorrei chiedervi un consiglio. Ho scritto dei programmi in C ma volendo un'interfaccia grafica sto usando Netbeans per creare un'interfaccia JAva da cui lanciare i vari programmi C con l'istruzione Runtime.getRuntime().exec("Processo"). Il programma Processo fa un bel po' di cose e la sua conclusione richiede molto tempo. Per questo motivo se Processo viene lanciato da linea di comando restituisce in output una sere di messaggi che informano l'utente sullo stadio di avanzamento del programma. E' possibile incalanare tutto ciò che "processo" manderebbe a video se lanciato da linea di comando direttamente in una casella di testo all'interno dell'interfaccia grafica in Java?
grazie mille per l'aiuto
Puoi recuperare ciò che il processo scrive sulla console in questo modo:
codice:
public static void main(String[] args) throws IOException{
Process p = Runtime.getRuntime().exec( ... ); // qui il comando per lanciare il tuo programma
BufferedReader reader = new BufferedReader( new InputStreamReader(p.getInputStream()) );
String line = null;
while( (line = reader.readLine()) != null )
System.out.println("By process: " + line); //ad esempio stampo sulla console del processo corrente
reader.close();
}
Chiaramente devi adattare la soluzione alle tue esigenze.