Bonjour, j'aimerais savoir comment utiliser des fichiers de ressource ResourceBundle qui sont extérieur aux Jar ?
merci d'avance.
Version imprimable
Bonjour, j'aimerais savoir comment utiliser des fichiers de ressource ResourceBundle qui sont extérieur aux Jar ?
merci d'avance.
Comme le mecanisme des ClassLoader est utilise pour resoudre l'addresse du bundle, celui-ci peut-etre place dans n'importe quel autre JAR ou dans n'importe quel repertoire contenu dans le CLASSPATH de ton application. La resolution s'arrete au premier bundle trouve qui corresponde au chemin+nom de base donne.
Alternativement la methode ResourceBundler.getBundle() dispose de variante qui te permet de passer un ClassLoader de ta propre facture pouvant utiliser un mecanisme different de resolution.
Pour completer la réponse avec un exemple :
Code:
1
2
3
4
5
6
7
8
9 path = "C:\ton_fichier.resources" Locale locale = new Locale("fr"); URL urlList[] = {new File(path).toURL()}; loader = new URLClassLoader(urlList); String text = null; text = ResourceBundle.getBundle(path, locale, loader).getString("LaClefDuText"); //mieux vaut verifier que le fichier existe avant ca va de soit ... //je ne suis pas certain qu'il faille specifier l'extension du fichier.