Originariamente inviato da gighen85
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:
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()));
Utilizzando il buffered reader 'rova' ottengo l'output del programma.
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!