Menu

Executer un path en JAVA

java - 8 févr. 2018 à 10:29 - Dernière réponse :  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
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
KX 15558 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 23 juin 2018 Dernière intervention - 8 févr. 2018 à 13:16
1
Merci
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

Merci KX 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 24073 internautes 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
KX 15558 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 23 juin 2018 Dernière intervention > 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...
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
KX 15558 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 23 juin 2018 Dernière intervention > java - 9 févr. 2018 à 18:16
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
Commenter la réponse de KX