Spec-Zone.ru › OpenJDK 27

Class PropertyResourceBundle

java.lang.Object
java.util.ResourceBundle
java.util.PropertyResourceBundle
public class PropertyResourceBundle extends ResourceBundle
PropertyResourceBundle is a concrete subclass of ResourceBundle that manages resources for a locale using a set of static strings from a property file. See ResourceBundle 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 a PropertyResourceBundle that refers to it. See ResourceBundle.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
API 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 UTF-8. By default, if a MalformedInputException or an UnmappableCharacterException occurs on reading the input stream, then the PropertyResourceBundle instance resets to the state before the exception, re-reads the input stream in ISO-8859-1, and continues reading. If the system property java.util.PropertyResourceBundle.encoding is set to either "ISO-8859-1" or "UTF-8", the input stream is solely read in that encoding, and throws the exception if it encounters an invalid sequence. If "ISO-8859-1" is specified, 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. Other encoding values are ignored for this system property. The system property is read and evaluated when initializing this class. Changing or removing the property has no effect after the initialization.
Implementation Requirements:
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.
Since:
1.1
See Also:
  • ResourceBundle
  • ListResourceBundle
  • Properties

Nested Class Summary

Nested classes/interfaces declared in class ResourceBundle

ResourceBundle.Control
Modifier and Type Class Description
static class  ResourceBundle.Control
ResourceBundle.Control defines a set of callback methods that are invoked by the ResourceBundle.getBundle factory methods during the bundle loading process.

Field Summary

Fields declared in class ResourceBundle

parent
Modifier and Type Field Description
protected ResourceBundle parent
The parent bundle of this bundle.

Constructor Summary

Constructor Description
PropertyResourceBundle(InputStream stream)
Creates a property resource bundle from an InputStream.
PropertyResourceBundle(Reader reader)
Creates a property resource bundle from a Reader.

Method Summary

Modifier and Type Method Description
Enumeration<String> getKeys()
Returns an Enumeration of the keys contained in this ResourceBundle and its parent bundles.
Object handleGetObject(String key)
Gets an object for the given key from this resource bundle.
protected Set<String> handleKeySet()
Returns a Set of the keys contained only in this ResourceBundle.

Methods declared in class ResourceBundle

clearCache, clearCache, containsKey, getBaseBundleName, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, keySet, setParent
Modifier and Type Method Description
static final void clearCache()
Removes all resource bundles from the cache that have been loaded by the caller's module.
static final void clearCache(ClassLoader loader)
Removes all resource bundles from the cache that have been loaded by the given class loader.
boolean containsKey(String key)
Determines whether the given key is contained in this ResourceBundle or its parent bundles.
String getBaseBundleName()
Returns the base name of this bundle, if known, or null if unknown.
static final ResourceBundle getBundle(String baseName)
Gets a resource bundle using the specified base name, the default locale, and the caller module.
static ResourceBundle getBundle(String baseName, Module module)
Gets a resource bundle using the specified base name and the default locale on behalf of the specified module.
static final ResourceBundle getBundle(String baseName, Locale locale)
Gets a resource bundle using the specified base name and locale, and the caller module.
static ResourceBundle getBundle(String baseName, Locale locale, ClassLoader loader)
Gets a resource bundle using the specified base name, locale, and class loader.
static ResourceBundle getBundle(String baseName, Locale targetLocale, ClassLoader loader, ResourceBundle.Control control)
Returns a resource bundle using the specified base name, target locale, class loader and control.
static ResourceBundle getBundle(String baseName, Locale targetLocale, Module module)
Gets a resource bundle using the specified base name and locale on behalf of the specified module.
static final ResourceBundle getBundle(String baseName, Locale targetLocale, ResourceBundle.Control control)
Returns a resource bundle using the specified base name, target locale and control, and the caller's class loader.
static final ResourceBundle getBundle(String baseName, ResourceBundle.Control control)
Returns a resource bundle using the specified base name, the default locale and the specified control.
Locale getLocale()
Returns the locale of this resource bundle.
final Object getObject(String key)
Gets an object for the given key from this resource bundle or one of its parents.
final String getString(String key)
Gets a string for the given key from this resource bundle or one of its parents.
final String[] getStringArray(String key)
Gets a string array for the given key from this resource bundle or one of its parents.
Set<String> keySet()
Returns a Set of all keys contained in this ResourceBundle and its parent bundles.
protected void setParent(ResourceBundle parent)
Sets the parent bundle of this bundle.

Methods declared in class Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Modifier and Type Method Description
protected Object clone()
Creates and returns a copy of this object.
boolean equals(Object obj)
Indicates whether some other object is "equal to" this one.
protected void finalize()
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
final Class<?> getClass()
Returns the runtime class of this Object.
int hashCode()
Returns a hash code value for this object.
final void notify()
Wakes up a single thread that is waiting on this object's monitor.
final void notifyAll()
Wakes up all threads that are waiting on this object's monitor.
String toString()
Returns a string representation of the object.
final void wait()
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
final void wait(long timeoutMillis)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
final void wait(long timeoutMillis, int nanos)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

Constructor Details

PropertyResourceBundle

public PropertyResourceBundle(InputStream stream) throws IOException
Creates a property resource bundle from an InputStream. This constructor reads the property file in UTF-8 by default. If a MalformedInputException or an UnmappableCharacterException occurs on reading the input stream, then the PropertyResourceBundle instance resets to the state before the exception, re-reads the input stream in ISO-8859-1 and continues reading. If the system property java.util.PropertyResourceBundle.encoding is set to either "ISO-8859-1" or "UTF-8", the input stream is solely read in that encoding, and throws the exception if it encounters an invalid sequence. Other encoding values are ignored for this system property. The system property is read and evaluated when initializing this class. Changing or removing the property has no effect after the initialization.
Parameters:
stream - an InputStream that represents a property file to read from.
Throws:
IOException - if an I/O error occurs
NullPointerException - if stream is null
IllegalArgumentException - if stream contains a malformed Unicode escape sequence.
MalformedInputException - if the system property java.util.PropertyResourceBundle.encoding is set to "UTF-8" and stream contains an invalid UTF-8 byte sequence.
UnmappableCharacterException - if the system property java.util.PropertyResourceBundle.encoding is set to "UTF-8" and stream contains an unmappable UTF-8 byte sequence.

PropertyResourceBundle

public PropertyResourceBundle(Reader reader) throws IOException
Creates a property resource bundle from a Reader. Unlike the constructor PropertyResourceBundle(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 - if reader is null
IllegalArgumentException - if a malformed Unicode escape sequence appears from reader.
Since:
1.6

Method Details

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 class ResourceBundle
Parameters:
key - the key for the desired object
Returns:
the object for the given key, or null

getKeys

public Enumeration<String> getKeys()
Returns an Enumeration of the keys contained in this ResourceBundle and its parent bundles.
Specified by:
getKeys in class ResourceBundle
Returns:
an Enumeration of the keys contained in this ResourceBundle and its parent bundles.
See Also:
  • ResourceBundle.keySet()

handleKeySet

protected Set<String> handleKeySet()
Returns a Set of the keys contained only in this ResourceBundle.
Overrides:
handleKeySet in class ResourceBundle
Returns:
a Set of the keys contained only in this ResourceBundle
Since:
1.6
See Also:
  • ResourceBundle.keySet()

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2026, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API