Problème de chemin avec Java NIO 2 sous forme .exe / .jar

Résolu/Fermé
Skymer Messages postés 473 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 - Modifié par Skymer le 19/03/2017 à 14:52
REPONSE : En faite il ne faut pas mettre le getClass().getResource(path);
juste : "/" suffit pour faire un chemin relatif



Bonjour, je programme en ce moment une appli qui a besoin de lire dans un fichier... Jusque là, ça ne m'a pas posé trop de soucis, mais une fois l'appli terminée (son prototype) : Et bah ça ne veut plus me lire mon fichier compressé dans le .exe (ou le .jar)... On pourrait se dire que c'est un problème de localisation et bien non :/ Car je lis des images, et une police d'écriture dans des dossiers adjacents eux-aussi compressé dans le .exe, la seule nuance c'est que j'utilisais un Objet de type URL : getClass().getRessource("/data/fichier.abc") par ex, alors que là je suis obligé d'utiliser un Objet de type Path... Et je dois donc convertir mon getClass().getRessource("/data/fichier.abc") en Path (j'ai essayé plsrs moyens comme : Paths.getPath(), ou bien créer directement un objet Path)... Rien n'y fait...

Mon code :
try (BufferedReader reader = Files.newBufferedReader(Paths.get(getClass().getResource("/data/fichier.abc").toURI()), Charset.defaultCharset())) {
ça marche niquel, mais seulement dans eclipse :/...

Je comprends pas très bien Oo... Quand j'affiche la console du .jar (grâce à j4launch), et que je mets comme chemin : "/" ou : "" ça marche niquel, m'affiche tout ce que je veux... Mais dès que je mets autre chose : R.I.P.

Merci d'avance :p

Skymer
A voir également: