Je dois obtenir un fichier image de ressource dans un projet Java. Ce que je fais est:
URL url = TestGameTable.class.getClass().
getClassLoader().getResource("unibo.lsb.res/dice.jpg");
La structure de répertoire est la suivante:
unibo/
lsb/
res/
dice.jpg
test/
..../ /* other packages */
Le fait est que je reçois toujours car le fichier n'existe pas. J'ai essayé beaucoup de chemins différents, mais je n'ai pas pu résoudre le problème. Un indice?
TestGameTable.class.getResource("/unibo/lsb/res/dice.jpg");
getResource()
directement sur la classe.Au lieu d'écrire explicitement le nom de la classe, vous pouvez utiliser
this.getClass().getResource("/unibo/lsb/res/dice.jpg");
si vous appelez depuis la méthode static
, utilisez:
TestGameTable.class.getClassLoader().getResource("dice.jpg");
Une chose à garder à l'esprit est que le chemin approprié ici est le chemin relatif à l'emplacement du système de fichiers de votre classe ... dans votre cas, TestGameTable. class . Il n'est pas lié à l'emplacement du fichier TestGameTable. Java .
J'ai laissé une réponse plus détaillée ici ... où est la ressource réellement située