Newsgroup: it.comp.java
Titolo: Problemi principiante 7.1

Salve,
per eseguire un comando esterno ad un prg Java devo fare :
    Runtime.getRuntime().exec("nome del programma");
che mi restituisce un oggetto di tipo "Process", come faccio a
visualizzare in una finestra quello che fa il processo.
Mi spiego meglio, secondo me facendo il metodo "exec" il programma
esterno a quello JAVA va in esecuzione (infatti premendo CTRL+ALT+CANC
spuntano due processi in piu'), ma non si vede nulla.
GRAZIE 1000
pab...@freemail.it

, 
pab...@tuttocitta.it
 says...

Se non ricordo male, Process ritorna l'output solo quando l'esecuzione e' terminata.


pab...@freemail.it
Ti consiglio di dare un'occhiata alla documentazione relativa alla
classe Process: esistono infatti le API per ottenere gli stream di i/o
usati dal processo. Dato lo stream di output, e' relativamente
semplice visualizzarlo da qualche altra parte.
Se questo non ti e' sufficiente, cioe' l'eseguibile non emette output
su stdout, temo ti tocchera' implementare un metodo di controllo in
codice nativo
Questo e' un consiglio generale: prima leggere la documentazione ;-)
Ciao,
	Bruno.
| --
| Bruno Bossola
| Groupware/Intranet B.U.           Phone:  +39-11-2252211
| ATOS SpA v.Vaninetti 27           Fax:    +39-11-2203182
| I-10148 Torino ITALY              Change NOSPAM in atos to email me!

 
pab...@freemail.it
-- 
Usa i processi Process.getInputStream, che fornisce uno stream che
riceve dallo 
stdout del processo che hai mandato in esecuzione ,e
Process.getOutputStream() , che invece ti fornisce uno stream verso lo
stdin del processo, il tuo programma Java deve comunicare attraverso
questi streams e se vuoi visualizzare qualcosa deve istanziare una Frame
e riversare cio che viene dallo stdout del processo in una TextArea
nella Frame (o qualcosa del genere).
Attento a come gestisci l' esecuzione, infatti il processo non e'
sincronizzato con il programma Java, per sincronizzare le cose puoi
usare il metodo Process.waitFor() che rimane in attesa della conclusione
del Process lanciato.
                                                //\\              
 __________________________                        \\             
|                          \\                  .__=.\\        
|                            \____          ,' -(@)\-\<)          
|Davide Carboni               \   \______.,(_______/_:\           
|
d.ca...@mail.dex-net.com
|==.\______//  # /# #\ || : \____       
|                            '\\\ =''=//|_|##(O)##|| `./\---.      
|_______________________ /\   / ,`--'./# ======='//,  //.\ . \     
                 _______ \ \_(_:_@O__)_///<_>O////    ( (@O ) )    
                    _____ \_____________/======'O'     \ `-' /     
                             __`-----'__________________`---'___

semplice visualizzarlo da qualche altra parte.
Come ??
Grazie 1000.
pab...@freemail.it

nella Frame (o qualcosa del genere).
comunque ho provato cosi'
JTextArea testo = new JTextArea();
try {
  Process listmgr = Runtime.getRuntime().exec("java -version");
  InputStream uscita = listmgr.getInputStream();
 Reader lettura   = new BufferedReader(new InputStreamReader(uscita));
   try {
      testo.read(lettura,"pippo");
ma niente da fare.
Ciao
pab...@freemail.it