Java : accès à un fichier du jar
Nico
-
azureus33 Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
azureus33 Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je rencontre un petit problème avec l'affichage d'images et l'accès à d'autres fichiers présents dans le jar où se trouvent mes classes...
Auparavant, j'avais ceci dans mon code :
File f = new File("images/ecranTitre.jpg");
ecranTitre = ImageIO.read(f);
et ça fonctionnait très bien si mon jar se trouvait au même niveau que le répertoire images, mais bien sûr pas ailleurs...
J'ai donc remplacé ce morceau de code par :
File f = new File(getClass().getResource("images/ecranTitre.jpg").toURI());
ecranTitre = ImageIO.read(f);
ou bien par :
File f = new File((URLClassLoader)ClassLoader.getSystemClassLoader().findResource("images/ecranTitre.jpg").toURI());
ecranTitre = ImageIO.read(f);
mais dans aucun des deux cas l'image ne s'affiche. Elle ne s'affiche d'ailleurs même plus si le jar se trouve au même niveau que le répertoire images...
J'ai essayé d'afficher l'URI renvoyée par getClass().getResource("images/ecranTitre.jpg").toURI() et j'ai obtenu
jar:file:!chemin/complet/du/jar!/images/ecranTitre.jpg
ce qui me semblait pourtant correct...
C'est sans doute tout simple... Mais est-ce que quelqu'un aurait une idée pour me dépanner ?
Merci d'avance à tous !
Je rencontre un petit problème avec l'affichage d'images et l'accès à d'autres fichiers présents dans le jar où se trouvent mes classes...
Auparavant, j'avais ceci dans mon code :
File f = new File("images/ecranTitre.jpg");
ecranTitre = ImageIO.read(f);
et ça fonctionnait très bien si mon jar se trouvait au même niveau que le répertoire images, mais bien sûr pas ailleurs...
J'ai donc remplacé ce morceau de code par :
File f = new File(getClass().getResource("images/ecranTitre.jpg").toURI());
ecranTitre = ImageIO.read(f);
ou bien par :
File f = new File((URLClassLoader)ClassLoader.getSystemClassLoader().findResource("images/ecranTitre.jpg").toURI());
ecranTitre = ImageIO.read(f);
mais dans aucun des deux cas l'image ne s'affiche. Elle ne s'affiche d'ailleurs même plus si le jar se trouve au même niveau que le répertoire images...
J'ai essayé d'afficher l'URI renvoyée par getClass().getResource("images/ecranTitre.jpg").toURI() et j'ai obtenu
jar:file:!chemin/complet/du/jar!/images/ecranTitre.jpg
ce qui me semblait pourtant correct...
C'est sans doute tout simple... Mais est-ce que quelqu'un aurait une idée pour me dépanner ?
Merci d'avance à tous !
A voir également:
- Java : accès à un fichier du jar
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
1 réponse
Moi j'ai supprimé dans mon chemin le !jar et sa marche sans problème.
Je vais te cherché mon code.
A ben non je mis suis pris autrement. Voila le code utilisé pour récupérer le logo de mon programme dans mon jar.
Je vais te cherché mon code.
A ben non je mis suis pris autrement. Voila le code utilisé pour récupérer le logo de mon programme dans mon jar.
//Principal_main est le nom de ma classe ou se trouve mon main URL urlClass=Principal_main.class.getResource("Principal_main.class"); //Définir le chemin de l'image par rapport à la classe du utilisé pour urlClass(ici Principal_main.class) URL url_logo = new java.net.URL(urlClass, "../.../monimage.jpg"); jframe.setIconImage(ImageIO.read(url_logo.openStream())) ;