Rechercher : dans
Par :

Java : accès à un fichier du jar

Dernière réponse le 7 fév 2009 à 13:05:06 Nico, le 7 fév 2009 à 01:19:42 
 Signaler ce message aux modérateurs

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 !

Configuration: Windows XP
Firefox 3.0.5

Meilleures réponses pour « Java : accès à un fichier du jar » dans :
Voir le contenu d'un fichier .jar Voir Rien de plus facile que de voir ce que contient un fichier .jar: Renommez-le en .zip et ouvrez-le ! Si vous voulez voir ce que contiennent les programmes java compilés .class, vous devrez utiliser un décompilateur Java tel que JAD:...
[Vista] S'approprier un fichier dont l'accès est refusé VoirIl arrive souvent de vouloir modifier un fichier ou un dossier qui est bloqué car vous n'en êtes pas le propriétaire donc vous obtenez le message: "Accès refusé" quand vous voulez l'ouvrir ou déplacer un fichier dans ce dossier verrouillé. Deux...
Java - Les packages VoirIntroduction aux packages La programmation Java consiste à créer des classes. Or, étant donné qu'un programme est généralement développé par une équipe de programmeurs, c'est-à-dire plusieurs personnes, le fait de concaténer (mettre bout à bout)...

1

 azureus33, le 7 fév 2009 à 13:05:06

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.


      //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())) ;

Répondre à azureus33
Collection CommentÇaMarche.net