Class PropertyResourceBundle
- java.lang.Object
-
- java.util.ResourceBundle
-
- java.util.PropertyResourceBundle
-
public class PropertyResourceBundle extends ResourceBundle
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 subclass
PropertyResourceBundle
. 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 ofListResourceBundle
). 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 of The Java™ Language Specification whereas the other constructor which takes a Reader does not have that limitation.
- Since:
- JDK1.1
- See Also:
-
ResourceBundle
,ListResourceBundle
,Properties
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.ResourceBundle
ResourceBundle.Control
-
-
Field Summary
-
Fields inherited from class java.util.ResourceBundle
parent
-
-
Constructor Summary
Constructors Constructor and Description PropertyResourceBundle(InputStream stream)
Creates a property resource bundle from anInputStream
.PropertyResourceBundle(Reader reader)
Creates a property resource bundle from aReader
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description Enumeration<String>
getKeys()
Returns anEnumeration
of the keys contained in thisResourceBundle
and its parent bundles.Object
handleGetObject(String key)
Gets an object for the given key from this resource bundle.protected Set<String>
handleKeySet()
Returns aSet
of the keys contained only in thisResourceBundle
.-
Methods inherited from class java.util.ResourceBundle
clearCache, clearCache, containsKey, getBaseBundleName, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, keySet, setParent
-
-
-
-
Constructor Detail
PropertyResourceBundle
public PropertyResourceBundle(InputStream stream) throws IOException
Creates a property resource bundle from anInputStream
. The property file read with this constructor must be encoded in ISO-8859-1.- Parameters:
-
stream
- an InputStream that represents a property file to read from. - Throws:
-
IOException
- if an I/O error occurs -
NullPointerException
- ifstream
is null -
IllegalArgumentException
- ifstream
contains a malformed Unicode escape sequence.
PropertyResourceBundle
public PropertyResourceBundle(Reader reader) throws IOException
Creates a property resource bundle from aReader
. Unlike the constructorPropertyResourceBundle(InputStream)
, there is no limitation as to the encoding of the input property file.- Parameters:
-
reader
- a Reader that represents a property file to read from. - Throws:
-
IOException
- if an I/O error occurs -
NullPointerException
- ifreader
is null -
IllegalArgumentException
- if a malformed Unicode escape sequence appears fromreader
. - Since:
- 1.6
-
Method Detail
handleGetObject
public Object handleGetObject(String key)
Description copied from class:ResourceBundle
Gets an object for the given key from this resource bundle. Returns null if this resource bundle does not contain an object for the given key.- Specified by:
-
handleGetObject
in classResourceBundle
- Parameters:
-
key
- the key for the desired object - Returns:
- the object for the given key, or null
getKeys
public Enumeration<String> getKeys()
Returns anEnumeration
of the keys contained in thisResourceBundle
and its parent bundles.- Specified by:
-
getKeys
in classResourceBundle
- Returns:
-
an
Enumeration
of the keys contained in thisResourceBundle
and its parent bundles. - See Also:
-
ResourceBundle.keySet()
handleKeySet
protected Set<String> handleKeySet()
Returns aSet
of the keys contained only in thisResourceBundle
.- Overrides:
-
handleKeySet
in classResourceBundle
- Returns:
-
a
Set
of the keys contained only in thisResourceBundle
- Since:
- 1.6
- See Also:
-
ResourceBundle.keySet()
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.