Executer un path en JAVA

Fermé
java - 8 févr. 2018 à 10:29
 java - 9 févr. 2018 à 18:34
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 :


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
A voir également:

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
8 févr. 2018 à 13:16
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
1
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
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015 > java
8 févr. 2018 à 18:15
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...
0
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
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015 > java
9 févr. 2018 à 13:18
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...
0
Bonjour,

cela fonctionne sans soucis sur mon pc.

Merci

Cependant, est-il possible (à l'aide de runtime exec) de lancer un fichier se trouvant dans mon jar SVP ?

si oui, pourriez-vous me montre comment faire cela svp ?

Merci
0