Question

Sous Linux, la machine virtuelle Java définit le répertoire de travail sur le même répertoire que le répertoire personnel de l'utilisateur. Sous Windows, c’est le dossier où se trouve le fichier jar. Comment puis-je trouver l'emplacement du fichier (à partir de mon application) pour modifier le répertoire de travail?

Martijn

Était-ce utile?

La solution

Essayez d’obtenir le chemin du fichier avec le code suivant:

String path = YourClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();

Ensuite, vous pouvez supprimer le " *. jar " séparer avec:

path=path.substring(0, path.lastIndexOf('/')+1);

J'ai eu le même problème avec un jeu Java quand j'avais besoin d'ouvrir un fichier dans le même répertoire que le jar.

Un double clic sur le fichier jar sous Linux n’a pas ouvert le fichier. Bien sûr, vous pouvez ouvrir une ligne de commande et changer dir en jar dir puis lancer le jar à partir de là, mais j’avais besoin de double-cliquer sur le jar.

Autres conseils

Dans les deux cas, il s’agit du répertoire réel. Sous Windows automatiquement, le répertoire actuel est défini sur le répertoire de base du jar, si vous l'exécutez à partir de l'explorateur. Sous linux, le répertoire principal est le répertoire actuel de votre interface graphique. Pour définir le répertoire, écrivez un court script shell définissant le répertoire réel (avec la commande cd), puis exécutant le fichier jar (avec javaw -jar xyz.jar).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top