[JAVA] lancement de processus ....

lancement de processus .... [JAVA] - Programmation

Marsh Posté le 27-01-2002 à 18:35:55    

lut  
 
j'ai le code suivant :
 
Runtime rnt;
Process pr;
String [] prog =new String [2];
prog [0] =new String ("prog" );
prog [1] =new String ("un_fichier" );
     
rnt =Runtime.getRuntime ();
pr =rnt.exec (prog);  
BufferedReader br = new BufferedReader (
               new InputStreamReader (
                 pr.getErrorStream()));
 
pr.waitFor ();
while (br.ready ())
   System.out.println (br.readLine());
 
qui me sert a lancer un programme "prog" avec comme argument "un_fichier" et qui recupère la sortie des erreure.
ceci fonctionne bien lorsque "prog" ne fait pas beaucoup de sortie mais kan il en fait le programme java semble bloqué, il vient d'ou le problème :??:

Reply

Marsh Posté le 27-01-2002 à 18:35:55   

Reply

Marsh Posté le 27-01-2002 à 20:49:11    

ta mis ta procédure synchronize?

Reply

Marsh Posté le 27-01-2002 à 21:18:32    

nop je n'ai aucune procedure synchronize, je doit faire un synchronize sur koi ? (note : je n'ai po de thread dans mes classes)

Reply

Marsh Posté le 27-01-2002 à 21:31:54    

c ton stream qui attend pour rien et qui bloque ... Ca m'en a tout l'air en tout cas. Suffit de mettre des traces pour voir ou ca bloque


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 27-01-2002 à 21:55:13    

justement lorsque je termine le programme (par Ctrl - C) les affichages du System.out.println  apparaissent et je me rend compte qu'il a bien lu plusieurs lignes mais pas toutes

Reply

Marsh Posté le 28-01-2002 à 09:11:32    

bin voila tu as la réponse à ton prob ... Regarde du coté de ton stream.
 
au lieu de faire un truc while br.ready()
tu ferais mieux de faire un truc du genre  
 
while ((l == br.readLine) != null)
 
ou un truc du genre...

Reply

Marsh Posté le 28-01-2002 à 19:25:08    

nop ca marche tjs po :(

Reply

Marsh Posté le 28-01-2002 à 21:22:11    

while ((l = br.readLine) != null)  
;)

 

[edtdd]--Message édité par benou--[/edtdd]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 28-01-2002 à 22:14:48    

benou a écrit a écrit :

while ((l = br.readLine) != null)  
;)  
 
 




 
rahhhh je suis pas dans mon editeur préféré, c'est pour ça que je fais des fautes ;)


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 29-01-2002 à 08:59:06    

nop c bon je l'avai deja rectifie ( je me disai aussi que ca n'avait po trop de sens ;) ) mais ca ne marche toujours pas l'orsque le programme "sort" beaucoup de message (c 'est a dire environ 10 - 15 lignes) :(

Reply

Marsh Posté le 29-01-2002 à 08:59:06   

Reply

Marsh Posté le 29-01-2002 à 19:50:03    

voila , j'ai trouve , donc il fallait bien faire la soluce de benou mais aussi changer de place le pr.waitFor () pour le mettre après le System.out...

Reply

Marsh Posté le 29-01-2002 à 21:38:18    

sanglier04 a écrit a écrit :

voila , j'ai trouve , donc il fallait bien faire la soluce de benou mais aussi changer de place le pr.waitFor () pour le mettre après le System.out...  




 
quelle soluce de benou?  :heink:


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 29-01-2002 à 22:10:22    

oups ! je suis aller un peu trop vite :crazy:

Reply

Marsh Posté le 29-01-2002 à 23:21:15    

darklord22 a écrit a écrit :

 
quelle soluce de benou?  :heink:  




:lol:


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 30-01-2002 à 07:37:26    

benou a écrit a écrit :

 
:lol:  




 :fuck:  
 
 :hello:


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed