La syntaxe correcte pour l'utilisation Runtime.exec avec « Program Files »

voix
1

Je souhaite utiliser la méthode avec la signature suivante:

exec(String command, String[] envp, File dir) 

Supposons que mon programme est appelé monprog.exe et il est situé à C: \ Program Files \ My Software. Quelle est la syntaxe correcte pour l'utilisation Runtime.exec? Je continue de recevoir un message d'erreur « Le système ne peut pas trouver le fichier spécifié ». Pour clarifier, je voudrais monprog.exe commencer à partir du répertoire « C: \ Program Files \ My Software » et non d'où le programme java fonctionne

Créé 27/08/2009 à 04:54
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
2

Je recommande d' utiliser l'autre saveur de la exec()place:

exec(String[] cmdarray, String[] envp, File dir) 

En utilisant cette méthode, vous pouvez passer le chemin complet vers l'exécutable cmdarray[0]et les arguments de commande ( le cas échéant) dans les éléments du tableau suivants. Ceci est plus robuste que de traiter avec la citation ou d' échapper ou tout ce que vous pourriez avoir à faire pour le faire fonctionner avec le simpliste exec().

Pour répondre à l'autre partie de votre question, assurez - vous de passer le chemin où vous voulez commencer votre programme ( "C:\\Program Files\\My Software") dans le dirparamètre de ce qui précède exec()appel. Notez également que je \\dans le chemin parce que Java utilise \comme un caractère d'échappement, ce qui signifie que vous devez utiliser deux dans une chaîne de caractères représentant un chemin.

Créé 27/08/2009 à 04:58
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more