Un fichier dans un jar rapporté comme inexistant

Le
Vincent Hiribarren
Bonjour,

j'ai un problème assez étrange.

J'ai un fichier fichier.xml dans un jar. Il est dans le même package
mon.package que la classe MaClasse.class, aussi contenu dans le jar.

Pour récupérer le fichier, je fait un

File file = new File(
MaClasse.class.getResource("fichier.xml").getFile()
);

Cependant :

- un file.exists() me renvoie false alors que le fichier est là
- si je fais un file.exists() sur MaClasse.class, il me renvoie true
- mon fichier fichier.xml est pourtant bien considéré comme existant,
car de toute manière si je fais ce test sur un fichier inexistant, je
n'ai ni false ni true, mais une exception au niveau de getResource().
- mon fichier fichier.xml est rapporté comme n'existant pas, mais un
Class.getResourceAsStream() marche bien et me renvie un flux direct vers
le contenu du fichier.

Que se passe-t-il ? De manière générale, quels sont les moyens faciles
pour manipuler des fichiers dans un jar comme s'ils n'étaient pas dans
un jar ? J'utilisais déjà Class.getResource() pour accéder à des
fichiers gif empaquetés dans un jar, et je n'ai jamais eu ce genre de
problème. Merci pour vos réponses.
Vos réponses
Trier par : date / pertinence
Stéphane Delpech
Le #170694
"Vincent Hiribarren"
Bonjour,

j'ai un problème assez étrange.

J'ai un fichier fichier.xml dans un jar. Il est dans le même package
mon.package que la classe MaClasse.class, aussi contenu dans le jar.

Pour récupérer le fichier, je fait un

File file = new File(
MaClasse.class.getResource("fichier.xml").getFile()
);



Bonjour,

Y at-il un chemin ? Si oui essaye :

File file = new File(
MaClasse.class.getResource("MonCheminfichier.xml").getFile() );

@+ Stéphane

Publicité
Poster une réponse
Anonyme