50 votes

Java dans Eclipse: Où puis-je placer des fichiers sur le système de fichiers que je souhaite charger à l'aide de getResource? (par exemple des images pour un ImageIcon)

Je sais que le fichier doit se trouver là où le getClass (). GetResource (nom de fichier) peut le trouver, mais je ne sais pas où il se trouve.

Je suis intéressé à la fois pour placer les fichiers sur le système de fichiers lui-même, et comment utiliser les fonctionnalités d'Eclipse pour configurer les ressources.

62voto

BCunningham Points 798

Pour Eclipse, normalement, tout ce que vous devez faire c'est de créer un dossier dans votre répertoire de code source. Par exemple, si le répertoire contenant votre source est - /src , alors vous pouvez créer un /src/resources le dossier pour placer vos images/fichiers. Ensuite, dans votre classe, vous faites un getResource("/resources/image.png") pour le récupérer.

Vous pouvez également placer l'image/fichier dans le même dossier/package que la classe en essayant d'y accéder si vous le souhaitez (exemple: la place de l'image.png dans l' com.mycompany package avec l' com.mycompany.Foo de la classe qui a besoin d'y accéder et de les appeler getResource("image.png")), mais j'ai trouvé que c'est plus facile de garder des ressources comme des images et d'autres fichiers dans leur répertoire spécial, en dehors de la classe les dossiers, ils sont juste plus facile à gérer de cette façon.

Dans Eclipse, chaque fois que vous faites une génération, les fichiers dans ce répertoire de ressources sera copié dans votre répertoire de construction le long avec vos classes compilées.

Il est important de noter que si vous avez "Construire Automatiquement activée dans Eclipse (comme la plupart des gens ne) toutes les ressources dans ce répertoire que se changer en dehors d'Eclipse (c'est à dire vous modifiez une image à l'aide d'un outil d'édition d'image) que l'IDE peut pas toujours détecter ce changement. Généralement de faire un refresh sur le dossier du projet sera de s'assurer que le fichier est mis à jour dans la construire dans ces situations.

7voto

jodonnell Points 14999

Vous pouvez soit les placer dans le dossier src à côté de vos classes, soit créer un nouveau dossier source à cette fin (généralement appelé ressources ), bien que vous les localisiez de manière identique à partir du code.

Ensuite, vous les maîtrisez avec getResource("/com/x/y/foo.png") .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X