Java PropertyResourceBundle Class



Introduction

The Java PropertyResourceBundle class is a concrete subclass of ResourceBundle that manages resources for a locale using a set of static strings from a property file.Following are the important points about PropertyResourceBundle −

  • The class can be constructed either from an InputStream or a Reader, which represents a property file.

Class declaration

Following is the declaration for java.util.PropertyResourceBundle class −

 public class PropertyResourceBundle extends ResourceBundle 

Field

Fields inherited from class java.util.ResourceBundle.

Class constructors

Sr.No. Constructor & Description
1

PropertyResourceBundle(InputStream stream)

This creates a property resource bundle from an InputStream.

2

PropertyResourceBundle(Reader reader)

This creates a property resource bundle from a Reader.

Class methods

Sr.No. Method & Description
1 Enumeration<String> getKeys()

This method returns an Enumeration of the keys contained in this ResourceBundle and its parent bundles.

2 Object handleGetObject(String key)

This method gets an object for the given key from this resource bundle.

3 protected Set<String> handleKeySet()

This method returns a Set of the keys contained only in this ResourceBundle.

Methods inherited

This class inherits methods from the following classes −

  • java.util.ResourceBundle
  • java.util.Object

Getting Keys from a PropertyResourceBundle Instance Example

The following example shows the usage of Java PropertyResourceBundle getKeys() method. We created a InputStream of given content and then using that stream a PropertyResourceBundle object is created. Then using getKeys() method, an enumeration of keys is retrieved and entries are printed.

 package com.tutorialspoint; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.StringBufferInputStream; import java.nio.charset.Charset; import java.util.Enumeration; import java.util.PropertyResourceBundle; public class PropertyResourceBundleDemo { public static void main(String[] args) { // Prepare content for simulating property files String fileContent = "# Integer value 1\n" + "s1 = 1\n" + "# String value PropertyResourceBundleDemo\n" + "s2 = PropertyResourceBundleDemo\n" + "# Date value Fri Jan 31 00:00:00 IST 3913\n" + "s3 = Fri Jan 31 00:00:00 IST 3913"; InputStream propStream = new ByteArrayInputStream(fileContent.getBytes (Charset.forName("UTF-8"))); try { // Create property resource bundle PropertyResourceBundle bundle = new PropertyResourceBundle(propStream); // Get resource keys Enumeration<String> keys = bundle.getKeys(); while(keys.hasMoreElements()) { System.out.println("Bundle key: "+keys.nextElement()); } } catch (IOException e) { e.printStackTrace(); } } } 

Output

Let us compile and run the above program, this will produce the following result −

 Bundle key: s2 Bundle key: s1 Bundle key: s3 
Advertisements