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

avec Java Discussion :

attendre execution d'une commande


Sujet :

avec Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 41
    Par défaut attendre execution d'une commande
    Salut tout le monde,

    J'exécute une commande quitte à obtenir un fichier de sortie, dont j'ai besoin de mettre dans un autre dossier.
    Le système met du temps pour créer ce fichier et je veux pouvoir le copier lorsque sa création est totalement créé. Or je sais pas comment faire???

    J'ai essaye avec un process.waitFor() mais sans succes car toute l'appli se bloque!!

    Quelqu'un pourrait m'aider svp??

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut
    Crée un Thread pour gérer tes traitements longs.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 41
    Par défaut
    Un exemple??

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut
    ce serait plus simple si tu postais ton code


    alors de mémoire je garanti pas qu'il n'y a pas quelques erreur de syntaxe;
    j'ai omis aussi la gestion des exceptions.

    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
     
     
    public void createFichier(){
     
    Thread thread=new Thread(new Runnable(){
         public void run(){
         Process process=Runtime.exec("commande");
         int res=process.waitFor();
         if(res==0){
            // autre opérations a faire;
     
         }
    });
     
    thread.run();
     
     
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 41
    Par défaut
    Voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    copyFiles(aWiffFilePath,"C:\\Directory");
    copyFiles(aScanFilePath,"C:\\Directory");
    String[] fileList = {aWiffFilePath,aScanFilePath};
    File dir = new File("C:\\Directory");
    String[] command = new String[] {"C:\\mzWiff\\Debug\\mzWiff.exe", "--mzXML", "-v", "C:\\Directory\\" + wiffFile.getName()};
    while (dir.list().equals(fileList)){}	
    try {
    	Process p = Runtime.getRuntime().exec(command);
    	while (dir.list().length != 3){}
    	if (dir.list().length == 3) {							JOptionPane.showMessageDialog(frame, "mzxml file created");
                 } catch (IOException o){}
    sachant que copyFiles(str,str) est une methode que j'ai ecrit...
    Je vais essayer ce que tu m'as dit pour le thread et je verrais si ca marche!

    Par contre, pour le premier while, tu m'as parle du wait() et notifyAll(), mais coment je les utilise ici??

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 41
    Par défaut
    J'ai essayé avec le thread mais ça ne marche toujours pa : ça bloque!!
    quand je stoppe mon application, le processus se lance et le troisieme fichier se crée!! Je comprends plus rien????????

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 41
    Par défaut
    C'est bon, j'ai réussi

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

Discussions similaires

  1. Execution d'une commande telnet dans un script sh
    Par Nospher dans le forum Linux
    Réponses: 17
    Dernier message: 23/08/2011, 15h30
  2. Attendre l'execution d'une commande pour continuer
    Par sculpteur dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 27/09/2007, 15h46
  3. [Système]Execution d'une commande shell
    Par n8ken dans le forum API standards et tierces
    Réponses: 24
    Dernier message: 29/03/2007, 04h36
  4. Execution d'une commande systeme enC?
    Par must19 dans le forum Linux
    Réponses: 4
    Dernier message: 12/04/2006, 19h08
  5. [System][EXEC] Probleme d'execution avec une commande parametrée.
    Par chicorico dans le forum Général Java
    Réponses: 15
    Dernier message: 20/05/2005, 15h07

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