PropertyResourceBundle (Java Platform SE 8 ) (original) (raw)
PropertyResourceBundle
is a concrete subclass ofResourceBundle
that manages resources for a locale using a set of static strings from a property file. SeeResourceBundle for more information about resource bundles.
Unlike other types of resource bundle, you don't subclassPropertyResourceBundle
. Instead, you supply properties files containing the resource data. ResourceBundle.getBundle
will automatically look for the appropriate properties file and create aPropertyResourceBundle
that refers to it. SeeResourceBundle.getBundle for a complete description of the search and instantiation strategy.
The following example shows a member of a resource bundle family with the base name "MyResources". The text defines the bundle "MyResources_de", the German member of the bundle family. This member is based on PropertyResourceBundle
, and the text therefore is the content of the file "MyResources_de.properties" (a related example shows how you can add bundles to this family that are implemented as subclasses of ListResourceBundle
). The keys in this example are of the form "s1" etc. The actual keys are entirely up to your choice, so long as they are the same as the keys you use in your program to retrieve the objects from the bundle. Keys are case-sensitive.
MessageFormat pattern
s1=Die Platte "{1}" enthält {0}.
location of {0} in pattern
s2=1
sample disk name
s3=Meine Platte
first ChoiceFormat choice
s4=keine Dateien
second ChoiceFormat choice
s5=eine Datei
third ChoiceFormat choice
s6={0,number} Dateien
sample date
s7=3. März 1996
The implementation of a PropertyResourceBundle
subclass must be thread-safe if it's simultaneously used by multiple threads. The default implementations of the non-abstract methods in this class are thread-safe.
Note: PropertyResourceBundle can be constructed either from an InputStream or a Reader, which represents a property file. Constructing a PropertyResourceBundle instance from an InputStream requires that the input stream be encoded in ISO-8859-1. In that case, characters that cannot be represented in ISO-8859-1 encoding must be represented by Unicode Escapes as defined in section 3.3 ofThe Java™ Language Specification whereas the other constructor which takes a Reader does not have that limitation.