PropertyResourceBundle (Java Platform SE 8 )
Keywords: java.util.PropertyResourceBundle class
Date: 2023-01-18

compact1, compact2, compact3
java.util

## 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

  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 an `InputStream`.
    `PropertyResourceBundle(Reader reader)` Creates a property resource bundle from a `Reader`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 inherited from class java.util.ResourceBundle

      `clearCache, clearCache, containsKey, getBaseBundleName, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, keySet, setParent`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PropertyResourceBundle

          public PropertyResourceBundle(InputStream stream)
                                 throws IOException

      Creates a property resource bundle from an `InputStream`. 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` - if `stream` is null
        `IllegalArgumentException` - if `stream` contains a malformed Unicode escape 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 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 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()`

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, 2023, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.