Executer un path en JAVA

[Fermé]
Signaler
-
 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 :


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

Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 879
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

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
Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 879 > java
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...
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
Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 879 > java
Non ce n'est pas possible d'exécuter un fichier du jar, la seule solution serait d'extraire le fichier du jar, pour le mettre dans un fichier temporaire et l'exécuter à partir de ce fichier.

InputStream input = getClass().getResourceAsStream("/dossierDansLeJar/fichier");
Path output = Files.createTempFile(null, null);
Files.copy(input, output);
String toExecute = output.toFile().getAbsolutePath();

Ne pas oublier de faire un
Files.delete(output);
à la fin.
D'accord,

Merci pour ces précisions

Bonne soirée