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

API standards et tierces Java Discussion :

probleme avec runtime exec


Sujet :

API standards et tierces Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 181
    Points : 70
    Points
    70
    Par défaut probleme avec runtime exec
    Bonjour,
    Je cherche à ouvrir un simple fichier texte lors du clic sur un bouton. Le clic sur le bouton est bien reconnu grâce à l'action listener.
    Cependant je n'arrive pas pas à ouvrir mon fichier (où toute autre application) ensuite.

    J'ai suivi l'exemple de developpez.com :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Runtime runtime = Runtime.getRuntime(); 
    runtime.exec(new String[] { "fichier.txt" } );
    Mais je n'ai aucun résultat, pas même en utilisant le chemin complet.
    Il n'y a également aucun erreur générée malgré l'utilisation d'un try-catch.
    Quelqu'un aurait une idée?

    Merci

  2. #2
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par john123
    J'ai suivi l'exemple de developpez.com :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Runtime runtime = Runtime.getRuntime(); 
    runtime.exec(new String[] { "fichier.txt" } );
    Où as-tu trouvé ce code ???

    Si tu veux ouvrir un fichier il vaut mieux passer par la classe Dekstop (Java 6) ou l'API externe JDIC...


    Citation Envoyé par john123
    Il n'y a également aucun erreur générée malgré l'utilisation d'un try-catch.
    On pourrait voir à quoi ressemble ton try/catch, car j'obtiens une joli exception...

    a++

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 181
    Points : 70
    Points
    70
    Par défaut
    le modele vient de developpez.com que j'avais testé avec cmd.exe mais sans succès, ni pour aucune autre application ni fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    try { Runtime runtime = Runtime.getRuntime(); 
    runtime.exec(new String[] { "fichier.txt" } );}
     
    catch (IOException e1) {e1.printStackTrace();}

  4. #4
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par john123
    le modele vient de developpez.com
    Tu as un lien ? Car c'est une énorme bêtise qui doit être corrigée car la classe Runtime n'est pas faite pour cela...


    Sinon c'est étrange que tu n'obtiennes aucune exception !
    Quel est ton système d'exploitation ?

    a++

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 181
    Points : 70
    Points
    70
    Par défaut
    oui j'ai testé de lancer des executables a partir de ce modele :
    http://ydisanto.developpez.com/tutoriels/j2se/runtime/

    Ca n'a pas fonctionné avec aucun éxécutable.
    La seule erreur affichée est celle d'un fichier non trouvé si je change le nom de mon fichier. Et si je mets le bon nom aucune erreur mais aucune ouverture ... Je suis sous windows XP (+ eclipse)

  6. #6
    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 : 41
    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
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par john123
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    try { Runtime runtime = Runtime.getRuntime(); 
    runtime.exec(new String[] { "fichier.txt" } );}
     
    catch (IOException e1) {e1.printStackTrace();}
    Si tu trouve ce code dans mon tuto je te paye un coup à boire .
    C'est un executable (avec d'éventuels paramètres) qu'il faut préciser à la méthode de la classe Runtime et non un fichier.


    Citation Envoyé par john123
    oui j'ai testé de lancer des executables a partir de ce modele :
    http://ydisanto.developpez.com/tutoriels/j2se/runtime/

    Ca n'a pas fonctionné avec aucun éxécutable.
    La seule erreur affichée est celle d'un fichier non trouvé si je change le nom de mon fichier.
    Pourrais-tu poster l'erreur avec le code, ce sera plus facile pour nous de t'aider.
    As-tu mis le chemin complet (chemin absolu) ou le chemin relatif vers l'exécutable ?
    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

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

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 181
    Points : 70
    Points
    70
    Par défaut
    j'ai testé avec des éxécutables et un chemin absolu comme il etait précisé dans le tuto. J'avais repris ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Runtime runtime = Runtime.getRuntime();
    runtime.exec(new String[] { "C:\\Program Files\\MonAppli\\monappli.exe" } );
    Mais rien ne se passait, pire encore malgré le catch je n'obtiens pas d'erreur, dur pour debug

  8. #8
    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 : 41
    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
    Points : 5 943
    Points
    5 943
    Par défaut
    As tu pensé à bien lire les flux ? (cf III-B. Consommation des flux)
    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

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

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 181
    Points : 70
    Points
    70
    Par défaut
    je vais remodifier mon code en reprenant ton tuto entierement je te tiens au courant

  10. #10
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Points : 41
    Points
    41
    Par défaut
    Si ton appli est voué à etre deployé sur une machine windows, tu peut faire quelque chose de ce genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Runtime runtime = Runtime.getRuntime();
    runtime.exec(new String[] {"notepad.exe","Chemim_Complet_fichier_a_ouvrir"});

    mais c'est pas forcement très beau...

Discussions similaires

  1. probleme avec runtime.exec
    Par domino313131 dans le forum Général Java
    Réponses: 5
    Dernier message: 16/04/2010, 10h22
  2. Problème avec Runtime.exec()
    Par Vince182 dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2007, 17h48
  3. passage d'arguments avec Runtime.exec()
    Par aweqqas dans le forum Langage
    Réponses: 12
    Dernier message: 01/09/2007, 08h21
  4. Réponses: 2
    Dernier message: 24/01/2007, 13h58
  5. [VBscript] probleme avec shell.exec
    Par eown dans le forum Windows
    Réponses: 1
    Dernier message: 23/04/2006, 09h24

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