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

NetBeans Java Discussion :

executer un .exe depuis un programme


Sujet :

NetBeans Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut executer un .exe depuis un programme
    Bonjour!

    Je voudrais executer un .exe depuis mon programme java. Je sais qu'il exite la méthode Runtime.exec(...), mais je ne sais pas où mettre mon .exe dans l'arboréscence de mon projet...?? Quelqu'un peut-il m'aider?
    Merci d'avance...

  2. #2
    Membre averti
    Avatar de Orian
    Inscrit en
    Août 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Août 2006
    Messages : 372
    Points : 401
    Points
    401
    Par défaut Lancer une application externe
    Pour lancer une commande externe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    try {
                String cmd = "ton application externe.exe" ;
     
                        Runtime r = Runtime.getRuntime();
                            Process p = r.exec(cmd);                         
                            p.waitFor();//si l'application doit attendre a ce que ce process fini         }catch(Exception e) {
                 System.out.println("erreur d'execution " + cmd);
                    } catch(Exception e) {
                 System.out.println("erreur d'execution " + cmd);
                    }
    Il suffit de mettre ton application externe à la racine du répertoire et voila Tu peut aussi bien mettre un chemin relatif on absolu si tu souhaite placer ton application externe à un autre emplacement.

    @+
    iMac 27" 3.06 GHz Intel Core 2 Duo, 4Go DDR3, Mac OS 10.6.5
    MacBook Pro 17", 2,3 GHz Intel Core 2 Duo, 2 Go DDR2, Mac OS 10.4.11

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci!!
    Mais où puis-je mettre les paramètres de ma commande? à la suite?
    J'aurais une autre question... saurais-tu comment récupérer ce que me renvoie mon exe?
    Merci....;-)

  4. #4
    Membre averti
    Avatar de Orian
    Inscrit en
    Août 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Août 2006
    Messages : 372
    Points : 401
    Points
    401
    Par défaut
    Pour ce qui est d'envoyer une commande à ton apllication je pense que ça se fait comme ça (pas sur ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] cmd = {"ta commande", "ton application.exe"}
    Pour ce qui est de recevoir les données de l'application, pourquoi n'essayerais tu pas java.io? Genre un InputStream à partir de ton runutime...

    Mais encore une fois, je n'en suis pas sur...Je me suis toujours contente de lancer des .exe sans rien faire d'autre.

    mais si c'est juste dis le ...Si cela ne les pas dit moi comment on fais si tu trouve, ça pourrait n'interesser...
    iMac 27" 3.06 GHz Intel Core 2 Duo, 4Go DDR3, Mac OS 10.6.5
    MacBook Pro 17", 2,3 GHz Intel Core 2 Duo, 2 Go DDR2, Mac OS 10.4.11

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Salut!!

    Bon, je n'ai plus de problème!!
    Pour ce qui est de la commande, je n'avais tout simplement pas copié mon fichier.exe dans le bon répertoire! Il suffit ensuite d'écrire simplement la commande dans un string:
    String cmd = "appli param1 param2 ...";
    et de l'executer:
    Process p = Runtime.getRuntime().exec(cmd);
    C'est pas plus compliqué en fait!!

    Et en ce qui concerne la récupération des données, l' InputStream fonctionne tres bien !!

    final BufferedInputStream in = new BufferedInputStream(p.getInputStream());
    final OutputStream out = new FileOutputStream("H:/Projet Telemed/eData_PackSanté/pack santé/Sources/WebService/fichierTXT.txt");
    final BufferedReader br = new BufferedReader ( new InputStreamReader (in ));

    byte [] buffer;
    String s;

    while((s = br.readLine()) != null ) {

    buffer = s.getBytes ();
    out.write( buffer );
    System.out.println(s);
    }


    Merci pour le tuyau !!!!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/11/2007, 15h35
  2. Probleme pour executer java.exe depuis le code !
    Par Battosaiii dans le forum C#
    Réponses: 1
    Dernier message: 21/11/2007, 12h55
  3. execution de telnet depuis un programme
    Par dentifricemiam dans le forum Réseau
    Réponses: 3
    Dernier message: 16/10/2007, 16h51
  4. executer un .exe depuis le c: du cmd
    Par manshoon dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 16/08/2006, 17h11
  5. Réponses: 5
    Dernier message: 20/02/2006, 14h11

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