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
1Enumeration<String> getKeys()

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

2Object handleGetObject(String key)

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

3protected 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
close