Problème accès ressource java

Résolu/Fermé
Utilisateur anonyme - 13 mars 2012 à 09:38
 Utilisateur anonyme - 13 mars 2012 à 11:07
Bonjour,
Je voudrais dans mon application Java copier une ressource présente dans mon application vers un autre dossier

Exemple:
j'ai dans mon application

->src
_____ |--->Controleur.java
->ressource
_____ |--->img
__________ |---> Photo.jpg

La classe Controleur.java essaye de copier la photo présente dans ressource->img vers un dossier (par exemple D:\images), j'ai trouvé en fouillant sur le net une fonction prenant en paramètres deux objets de type File qui permet de copier un fichier vers un autre emplacement (copyFile(File src,File dst)) (cette fonction marche nickel)

Avec Eclipse ça fonctionne nickel je donne à la fonction :

File src = new File("ressource/img/Photo.jpg");
File dst = new File("D:\\images\\Photo.jpg");
copyFile(src,dst);

Mais à partir du moment ou j'exporte mon application en jar plus rien ne fonctionne.
En fouillant sur le net j'ai trouvé plein de truc genre getClass , getRessource, getRessourceAsStream ,getLoader ...... j'ai tout essayé mais je n'arrive jamais à faire ce que je veut.............

Quelqu'un peut-il m'aider ????????

A voir également:

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
13 mars 2012 à 11:02
"plus rien ne fonctionne", est-ce que tu peux être un peu plus précis ?
Tu as un message d'erreur ? Est-ce qu'il n'arrive pas à trouver la source dans le Jar, ou à copier la destination dans le répertoire ?
Il pourrait être intéressant d'afficher les chemins d'accès aux fichiers src et dst avec File.getAbsolutePathName() par exemple pour savoir ce qu'il fait.
0
Utilisateur anonyme
13 mars 2012 à 11:07
C'est bon j'ai trouvé
pour dest un simple new File(path) suffit
et pour la src (dans mon dossier ressource (j'ai viré le dossier img)) j'utilise
InputStream input = getClass().getResourceAsStream("/"+image);

et j'ai transformé ma méthode

copyFile(File src,File dest)

en

copyFile(InputStream src,File dest)

0