55 votes

Propriétés vs regroupement de Ressources

J'ai lu sur les propriétés et regroupement de ressources. Mais j'ai été incapable d'obtenir la différence entre ces. Quand utiliser les Propriétés de fichier et quand utiliser regroupement de Ressources.

Pour charger un fichier de propriétés, utilisez le code suivant

Properties tempProp = new Properties();
FileInputStream propsFile = new FileInputStream(xyz.properties);
tempProp.load(propsFile);

Pour charger regroupement de Ressources

ResourceBundle labels =
    ResourceBundle.getBundle("xyz", currentLocale);
Enumeration bundleKeys = labels.getKeys();

Dans les deux cas (regroupement de ressources et de Properites) nous sommes en utilisant le fichier de propriétés. La seule différence que j'ai trouvé est que le magasin d'applications de données spécifiques, nous utilisons les propriétés de fichier et d'utiliser i18n les données que nous utilisons regroupement de ressources. Je ne sais pas si j'ai raison ou pas.

Je voudrais savoir l'utilisation des deux ci-dessus. Quelle est la différence entre ces deux.

48voto

Jon Skeet Points 692016

Oui, vous êtes en train de penser dans le bon sens.

Des offres de ressources à ne pas avoir à utiliser les fichiers de propriété - c'est juste une mise en œuvre (PropertyResourceBundle). Un fichier de propriétés est vraiment juste une chaîne de caractères chaîne de cartographie - et qui peut être utilisé pour l'i18n, mais n'a pas à être.

ResourceBundle vous donne un moyen cohérent de demander l'objet approprié (généralement une chaîne de caractères) pour un endroit particulier, avec des issues etc. C'est souvent, mais pas toujours, soutenu par un fichier de propriétés séparé pour chaque langue.

Donc oui: si vous faites affaire avec i18n, vous devez utiliser ResourceBundle; si vous avez besoin d'une chaîne de caractères chaîne de carte conservées dans un fichier texte, il est bien d'utiliser Properties directement.

7voto

Pandiaraj Points 141

ResourceBundle permet de charger les paramètres régionaux des propriétés spécifiques. Si vous avez plusieurs fichiers de propriétés pour chaque locale exemple DE,CN,etc ResourceBundle va charger le paramètre régional approprié de fichier spécifique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X