IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

BufferedReader bloquant execution process


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de jolatouf
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 170
    Par défaut BufferedReader bloquant execution process
    Bonjour,

    J'ai un soucis avec un BufferedReader, en fait j'exécute un procéssus externe sur lequel je récupére les données pour les réafficher dans une commande dos. mais au dessus de 1000 lignes afficher le processus se bloque et je pense que cela vient du BufferedReader. Par le processus se bloque je veux dire plus d'affichage et pause de process si je fait un ctrl+c arrêt du process dans la commande dos le process continu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
     try
            {
                Runtime r = Runtime.getRuntime();
                System.out.println("setting environment");
                String commande="cmd /c q:\\QACBATCH\\QacppConf "+args[0];
                Process p3 = r.exec(commande);
     
                try {
                BufferedReader reader = new BufferedReader(new InputStreamReader(p3.getInputStream()));
                String line = "";
     
                       try {
                            while((line = reader.readLine()) != null) {
     
                                System.out.println(line);
     
                            }
     
                    } finally {
                        reader.close();   
                    }
            } catch(IOException ioe) {
                ioe.printStackTrace();
            }
     
     
                p3.getErrorStream().close();
                p3.waitFor();
     
     
            }
     
            catch (Exception e)
            {
                System.out.println("erreur d'execution " + e.toString());
                e.printStackTrace();
            }
    Merci

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    • Tu ne consomme pas le flux d'erreur du process
    • La consomation des flux doit se faire dans des threads séparés
    Cf : Les bonnes pratiques pour exécuter une application externe en Java .
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Membre confirmé
    Avatar de jolatouf
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 170
    Par défaut
    Ca marche nikel merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/06/2008, 12h13
  2. Réponses: 1
    Dernier message: 25/05/2008, 20h00
  3. [SSIS][2k5]Execute Process Task et WGET
    Par mattyeux dans le forum SSIS
    Réponses: 1
    Dernier message: 07/03/2008, 00h12
  4. executer process externe en perl
    Par fabfon dans le forum Langage
    Réponses: 1
    Dernier message: 20/07/2007, 11h04
  5. showMessageDialog Bloquant execution du code
    Par MrEddy dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 21/12/2006, 11h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo