Properties vs Resource Bundle
Solution 1:
Yes, you're thinking along the right lines.
Resource bundles don't have to use property files - it's just one implementation (PropertyResourceBundle
). A properties file is really just a string-to-string mapping - and that can be used for i18n, but doesn't have to be.
ResourceBundle
gives you a consistent way of requesting the appropriate object (usually a string) for a particular locale, with fallbacks etc. This is often, but not always, backed by a separate property file for each language.
So yes: if you're dealing with i18n, you should use ResourceBundle
; if you just need a string-to-string map persisted in a text file, it's fine to use Properties
directly.
Solution 2:
ResourceBundle helps to load locale specific properties. If you have different properties file for each locale example DE,CN,etc ResourceBundle will load the appropriate locale specific file.
Solution 3:
- Properties usually used for configuration file, not designed for internationalization (i18n) file. Such as log4j.properties or as your own configuration file.
- ResourceBundle is used for internationlization (i18n), the "magic" of ResourceBundle is not only key-value pair, but it can set to spesific Locale (language,region/country,variant) with the same key.
So, yes. it depends on what you need.