lancement de processus .... [JAVA] - Programmation
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)
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
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
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...
Marsh Posté le 28-01-2002 à 21:22:11
while ((l = br.readLine) != null)
[edtdd]--Message édité par benou--[/edtdd]
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
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)
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...
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?
Marsh Posté le 29-01-2002 à 23:21:15
darklord22 a écrit a écrit : quelle soluce de benou? |
Marsh Posté le 30-01-2002 à 07:37:26
benou a écrit a écrit : |
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