Executer un path en JAVA
java
-
java -
java -
Bonjour à tous,
je souhaite lancer un fichier en chemin relatif mais je rencontre certaine difficultés :
j'utilise cette commande pour obtenir dynamiquement le répertoire du fichier :
Cependant je souhaite lancer le fichier grâce au chemin obtenu :
Comment puis-je faire cela SVP ?
dois-je utiliser runtime exec, si oui comment faire SVP ?
Merci
je souhaite lancer un fichier en chemin relatif mais je rencontre certaine difficultés :
j'utilise cette commande pour obtenir dynamiquement le répertoire du fichier :
String path = new File("truc.exe).getAbsolutePath();
System.out.println("path = "+path);
Cependant je souhaite lancer le fichier grâce au chemin obtenu :
Comment puis-je faire cela SVP ?
dois-je utiliser runtime exec, si oui comment faire SVP ?
Merci
1 réponse
-
Bonjour,
Oui, Runtime.exec() devrait fonctionner. Exemple : Lancement d'une commande avec Runtime exec.
https://docs.oracle.com/javase/9/docs/api/java/lang/Runtime.html
Mais si c'est juste pour démarrer le programme, sans récupérer son état, tu peux aussi utiliser Desktop.open()
https://docs.oracle.com/javase/9/docs/api/java/awt/Desktop.html-
Bonjour,
je vous remercie d'avoir prêté attention à mon message mais dans les lien que vous m'avez fourni, je ne vois que des commande permettant d'exécuter des fichier avec un chemin en dur (absolu).
Pourriez vous me montrer commandent lancer (grace a runtime exec par exemple...) qui puisse chercher le fichier n'importe ou dans le Disque dur s'il-vous-plaît ?
merci -
Il faut distinguer deux choses :
- le chemin relatif de ton fichier par rapport au programme Java qui lance l'exec, que tu peux résoudre en chemin absolu avec le code que tu as mis dans ta question
- le répertoire de travail, relatif à l'exécution du programme qui est lancé par l'exec, et là il faut considérer le paramètre File dir que l'on trouve dans les méthodes exec (inutile de distinguer chemin absolu ou relatif sur un objet File)
Mais pour éviter de répondre de manière incorrect il faudrait savoir dans quel cas tu te situes, notamment voir si la classe Desktop ne suffit pas, et dans ce cas chemin relatif ou absolu ça ne changera rien... -
bonjour,
merci pour vos réponse mais je voulais savoir si je crée un chemin relatif, est-ce que ce dernier ne vas pas pointer au mauvaise endroit car j’essaie de résoudre ce problème-ci, mais en java et pas en C# comme l'article:
https://blogs.msdn.microsoft.com/appconsult/2017/06/23/accessing-to-the-files-in-the-installation-folder-in-a-desktop-bridge-application/
j'utilisais rundll32 mais je l'ai enlevé maintenant
rundll32 est dans un répertoire Windows et le fichier .\fichier.exe n’est pas dans ce répertoire. Il faudrait que la commande lance le chemin complet de l'application
Si je n’utilise plus rundll32, la commande ne vas pointer au mauvais endroit comme cela le faisait avant ?
Merci pour votre réponse -
Que ce soit du chemin relatif ou absolu ça ne change pas grand chose, soit il trouve le fichier soit il ne le trouve pas, mais s'il l'a trouvé l'exécution sera la même en absolu ou relatif.
Seul peut varier le contexte d'exécution comme je le précisait avec le paramètre File dir.
Mais le mieux serait encore que tu fasses des tests, là j'ai l'impression que pour toi ça reste très théorique "si je fais ceci est-ce que ça ferait cela", rien ne vaut la pratique, on ne va pas couvrir tout les cas de figure alors qu'au premier test ça peut marcher... -
-