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...
Version imprimable
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...
Pour lancer une commande externe :
Il suffit de mettre ton application externe à la racine du répertoire et voila :D Tu peut aussi bien mettre un chemin relatif on absolu si tu souhaite placer ton application externe à un autre emplacement.Code:
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); }
@+ ;)
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....;-)
Pour ce qui est d'envoyer une commande à ton apllication je pense que ça se fait comme ça (pas sur :aie: :roll: :aie: ):
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...Code:String[] cmd = {"ta commande", "ton application.exe"}
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 :D ...Si cela ne les pas :cry: dit moi comment on fais si tu trouve, ça pourrait n'interesser...;)
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 !!!!