Peut-on spécifier le chemin du répertoire avec le fichier de propriétés en utilisant la classe ResourceBundle en Java?

StackOverflow https://stackoverflow.com/questions/3598240

  •  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

Était-ce utile?

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");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top