10
votes

Où est la ressourceBundle.getbundle ("ressourcesFile", de nouveaux paramètres régionaux ("US", "US")) cherche le fichier?

Je couronne Eclipse et essaye de créer un programme de test simple, essayez notre ressourceBundle avec quelques fichiers différents. Le fichier est correctement nommé en tant que ressourcefile_us_us.properties. Mais je reçois une exception sur l'appel GetBundle () car il ne peut apparemment pas trouver le fichier. Où devrait-il être situé pour que cela puisse être trouvé?


0 commentaires

4 Réponses :


1
votes

Je crois que cela regarde juste dans la classe de classe.


0 commentaires

15
votes

Vous savez que Java recherche un fichier de propriétés dans une locale spécifique. Vous pouvez être déconcerté pourquoi Java continue de se plaindre qu'il ne trouve pas de fichier de propriétés qui est juste là. Quelques points à garder à l'esprit lors du débogage de ce type d'erreurs:

  1. Ces fichiers de propriétés de ressources sont chargés par classier, similaires aux classes Java. Donc, vous devez les inclure dans votre parcours d'exécution.

  2. Ces ressources ont un nom de ressources entièrement qualifiée, similaire à un nom de classe entièrement qualifié, extrait que vous ne pouvez pas importer de ressource dans votre fichier source Java. Pourquoi? parce que son nom prend la forme d'une chaîne.

  3. ressourcesBundle.getbundle ("config") Indique au chargeur de classe à charger une ressource nommée "config" avec le package par défaut (c'est-à-dire sans paquet). Cela ne signifie pas une ressource dans le paquet actuel qui a la classe de référencement.

  4. de ressourcesBundle.getbundle ("com.cheng.scrap.config") Indique au chargeur de classe de charger une ressource nommée "config" avec le package "com.cheng.scrap." son nom de ressources entièrement qualifié est "com.cheng.scrap.config"

    Plus: Impossible de trouver Bundle pour nom de base COM ... config, locale zh_cn

    Cheers.


0 commentaires

1
votes

l'un des deux:

  1. / src / ressources Assurez-vous d'inclure les paramètres régionaux dans le nom du fichier de référence de ressources. E.g pour le Zimbabwe, ce sera de ressourcebundle_en_zw.properties et vous le chargerez en tant que ressourceBundle de ressourcesBundle = ressourcesBundle.getbunndle ("ressourcesBundle", locale.getdefault ());

  2. dans votre classe de classe. Assurez-vous que la variable d'environnement CALSSPATH est définie


0 commentaires

8
votes

Si vous créez un package ressources code> et mettez le fichier hello_en_us.properties code> à l'intérieur, qui a le contenu:

bonjour = bonjour monde !! p> blockQuote>

Vous pouvez imprimer le contenu de Hello à l'aide du code suivant: P>

package localization;

import java.util.Locale;
import java.util.ResourceBundle;

public class ResourceBundleDemo {

public static void main(String[] args) {

    Locale en_US = new Locale("en", "US");
    ResourceBundle bundle = ResourceBundle.getBundle("resources.hello", en_US);

    // print the value of the key "hello"
    System.out.println("" + bundle.getString("hello"));

  }
}


0 commentaires