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

Java Discussion :

[Runtime]Comment forcer un programme lancer en Java à se terminer


Sujet :

Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 2
    Par défaut [Runtime]Comment forcer un programme lancer en Java à se terminer
    Bonjour à tous.
    Dans un de mes projets nous devons compresser une grande quantité de petits fichiers (>100000).
    suite à des tests de rapidité, il nous est apparu que la meilleure solution consitait à utiliser un programme extérieur (les classes zip de java semblent trop lentes).

    Mon problème est donc le suivant.
    le programme est appelé en utilisant
    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
    try {
     
    			Runtime runtime = Runtime.getRuntime();
     
    			Process process = runtime.exec(commandLine);
     
    			process.waitFor();
     
    		}
     
    		catch(IOException e){
     
    			e.printStackTrace();
     
    		}

    Ce code execute la commande mais celle-ci une fois fini bloque et il faut terminer le processus à la main afin de voir le programme poursuivre son execution.
    Que faire pour automatiser cela et ne plus avoir à intervenir manuellement.

    L'environnement est le suivant:
    JDK 1.4
    OS Windows XP
    Programme de compression 7z.exe
    nonbre de fichier 100000 de 1ko

    Merci
    Jacques

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 34
    Par défaut
    incere une condition


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    try {
     while( tantquesarestevrais) {
    .....................

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Essayes de fermer tous les flux du process :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Process process = runtime.exec(commandLine);
     
    process.getInputStream().close();
    process.getOutputStream().close();
    process.getErrorStream().close();
     
    process.waitFor();
    Ca devrait marcher...

    a++

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 2
    Par défaut
    Merci cela marche effectivement.
    Jacques

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

Discussions similaires

  1. Comment bloquer le programme appelant Runtime.exec()?
    Par A.kouka dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 06/04/2007, 13h15
  2. Comment exécuter un programme java en dehors d'eclipse
    Par padraig29 dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 06/03/2007, 17h36
  3. Réponses: 1
    Dernier message: 10/12/2006, 13h38
  4. Réponses: 4
    Dernier message: 07/12/2006, 09h53
  5. Lancer un programme c depuis java dans une console
    Par moise44 dans le forum Général Java
    Réponses: 5
    Dernier message: 04/04/2006, 20h04

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