Salve a tutti, ho un problemino da risolvere, devo creare un metodo in Java che esegue un programma esterno da shell di comando, con il metodo Runtime.getRuntime().exec();
Vi mostro un pò di codice per farmi capire meglio:
Utilizzando il buffered reader 'rova' ottengo l'output del programma.codice:String [] command = new String[2]; command[0] = "c:\\cwb-nc\\bin\\cwb-nc.bat"; command[1] = "ccs"; Process proc = Runtime.getRuntime().exec(command); PrintWriter concurrency=new PrintWriter(new OutputStreamWriter(proc.getOutputStream())); BufferedReader rova = new BufferedReader(new InputStreamReader(proc.getInputStream()));
Il mio scopo è quello di far eseguire a questo programma più istruzioni, vorrei farlo utilizzando il PrintWriter 'concurrency' con il metodo: concurrency.println("comando1"); concurrency.println("comando2");
Il problema è che riesco a leggere ciò che il programma stampa col bufferedreader, ma non riesco a passargli comandi in ingresso col PrintWriter (eseguendo concurrency.println("comando1"); questo sembra non avere effetto).
Sbaglio forse io nel fare qualcosa? Vi faccio notare che non posso passare questi comandi in ingresso utilizzando l'array 'command', in quanto il programma accetta come parametro solo "ccs"..
Grazie mille!

Rispondi quotando