Peut-on spécifier le chemin du répertoire avec le fichier de propriétés en utilisant la classe ResourceBundle en Java?
-
02-10-2019 - |
Question
Je veux placer mes fichiers de propriétés dans certains dossiers, mais je ne suis pas en mesure de les lire parce que nous pouvons indiquer que le nom paquet dans la méthode de getBundle()
statique sur ResourceBundle objet.
paquet Supposer: myFile.properties Chemin d'accès actuel est: src Je veux garder mes propriétés fichier: src / temp
Alors, quand je me sers:
ResourceBundle.getBundle("temp/myfile", currentLocale);
il est de lancer une exception « ne peut pas trouver paquet ». Je veux un moyen de spécifier le chemin. S'il vous plaît me suggérer une façon de le faire.
Merci
La solution
Utilisez ceci:
ResourceBundle.getBundle("temp.myfile", currentLocale);
Le baseName
fourni dans l'appel ResourceBundle.getBundle
est censé être un nom de classe complet. Donc, il doit être écrit séparés par des points. Notez également que cela fait temp
un paquet dans votre code Java (que je ne pense pas est une bonne idée). Il est préférable de mettre le fichier de propriétés dans un emballage approprié comme com.xyz.abc
. Ensuite, vous pouvez y accéder en utilisant
ResourceBundle.getBundle("com.xyz.abc.myfile", currentLocale);
Autres conseils
Il est possible que vous utilisez le mauvais nom de fichier (monfichier! = MyFile).
Pour un myFile.properties
de fichier dans un temp
de répertoire sur le chemin de classe, ce code devrait fonctionner:
ResourceBundle.getBundle("temp.myFile");