2010-06-24 9 views
2

Je suis en train d'écrire un programme Java supposé être l'interface utilisateur graphique qui utilise un programme C tertiaire pour générer des valeurs pour diverses étiquettes.Java: ProcessBuilder Modification du chemin

Mais je ne veux pas avoir à coder en dur le chemin vers le programme C. Je veux juste que le programme Java exécute le programme C en supposant qu'il se trouve dans le même répertoire que celui dans lequel j'ai exécuté le programme Java (sinon, il y a un message d'erreur).

Je ne l'ai jamais utilisé ProcessBuilder avant que je ne vais donc apprécier de vastes exemples :)

Répondre

3

Une façon d'obtenir le chemin du pot contenant le code Java en cours est le suivant (où « THISCLASS » est le nom de une classe):

URL jarURL = THISCLASS.class.getProtectionDomain().getCodeSource().getLocation(); 
    String jarPath = jarURL.getPath(); 
    File file = new File(jarPath); 

Compte tenu du chemin du fichier jar, vous pouvez utiliser l'API java.io.File pour parcourir un chemin par rapport à l'exécutable.

+0

Merci beaucoup :) – GeniusWannabe

Questions connexes