Bonjour les ami(e)s,

J'ai une question à laquelle je n'arrive pas à trouver de réponse depuis hier soir :

J'ai du code qui est executé depuis un fichier JAR. Mon but est de lancer un getResource() (ou getResourceAsStream() ) de la classe Class sur un fichier en local.
Voyons en gros ce que je veux dire :

J'ai une bête classe Java (nommée Test) qui fait ce bout de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
try {
  String x = "tmp/fichier.txt";
  URL url = getClass().getResource(x);
  System.out.println("URL null ? " + (url == null));
} catch ...
Notons que le fichier que je veux charger, fichier.txt, se trouve dans le répertoire tmp/, ce répertoire étant un sous-répertoire de celui contenant mon Test.jar.

Dès que je lance "java -jar Test.jar", j'obtiens toujours sur la console :
"URL null ? true"

Alors je me suis dit que ma String définissant le chemin vers le fichier (variable x) est mal écrite. Du coup, j'ai essayé plein de solutions différentes :
x = "/tmp/fichier.txt";
x = "d:/test/tmp/fichier.txt";
x = "file:/tmp/fichier.txt";
x = "file:///tmp/fichier.txt";
x = "file:///d:/tmp/fichier.txt";
etc...
Mais hélas, aucune ne fonctionne, et mon URL reste déséspèrement NULL

Où est mon erreur ? Comment y remédier ?

Merci de votre aide !