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 :

Erreur IOException avec Runtime.exec()


Sujet :

avec Java

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut Erreur IOException avec Runtime.exec()
    Bonjour à tous,

    Dans un même traitement, je fais appel plusieurs fois à la méthode "runtime.exec()"

    Voici mon code pour info :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Runtime runtime = Runtime.getRuntime();
    Process process = runtime.exec("convert " + fileCopy + " -resize 400x400 " + fileBMP);
    File MyFilePNG = new File(fileCopy);
    if(!MyFilePNG.delete()){
        // erreur delete image
        m.put("errcode", "12002");
            return Response.ok(m, MediaType.APPLICATION_JSON).build();
    }
     
    process = runtime.exec("autre programme);
    process.destroy();
    Mon erreur se trouve sur la première commande "convert", et pendant mes tests hier ça fonctionnait, puis, ça ne fonctionnait pas, et maintenant, j'obtiens cette exception.

    Auriez-vous une solution pour régler ce problème ?

    Merci

    Vince

  2. #2
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Il faudrait plus d'informations car les causes d'une IOException peuvent être très nombreuses. En général une exception est accompagné d'un message qui permet de mieux cerner le problème, et d'une stacktrace qui permet de savoir sur quelle ligne l'erreur a eu lieu.

    Je dirais cependant qu'il est probable que le soucis vienne du fait que tu n'attends pas que ton process soit terminé avant de continuer. Du coup "convert" doit garder un verrou sur les fichiers que tu essaie de manipuler. Il faudrait ajouter un process.waitFor() juste après le runtime.exec(...)

    Enfin j'ai l'impression que tu fait appel a un programme externe pour convertir et redimensionner un bmp en png. Y a il une raison particulière de passer par un programme externe? l'API de java contient la classe ImageIO qui permet de faire ce genre de chose sans recourir a ce genre de bricolage.

Discussions similaires

  1. Executer code sur le serveur avec Runtime Exec pour GWT
    Par vladimire dans le forum GWT et Vaadin
    Réponses: 5
    Dernier message: 18/04/2011, 12h35
  2. probleme avec runtime.exec
    Par domino313131 dans le forum Général Java
    Réponses: 5
    Dernier message: 16/04/2010, 10h22
  3. Problème avec Runtime.exec()
    Par Vince182 dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2007, 17h48
  4. passage d'arguments avec Runtime.exec()
    Par aweqqas dans le forum Langage
    Réponses: 12
    Dernier message: 01/09/2007, 08h21
  5. probleme avec runtime exec
    Par john123 dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 17/07/2007, 11h57

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