×

Properties Class in Java

Properties class is associated with Java since JDK 1.0, i.e. it is a legacy class. It is the subclass of Hashtable. It is used to maintain the lists of values in which the keys, as well as values, is of String type.

Property list can contain a second property list as its default and this list is searched only if the property key is not found in the main property list.

Property class is thread-safe, i.e. multiple threads can share a single properties object without any external synchronization. This is not a generic class but some of its methods are generic.

It defines the following instance variable:

Properties defaults It holds a default property list associated with the Properties object.

Properties define these constructors:

Properties() This constructor creates a Properties object with no default values.
Properties(Properties propDefault) It generates an empty property list with the specified default value.

Method of Properties Class

Modifiers Methods Description
String getProperty(String key) It returns the value associated with the specified key in the argument. It returns null if the key is neither in the list nor in the default property list.
String getProperty(String key, String defaultProperty) It returns the value associated with the specified key in the argument. defaultProperty is returned if the key is not present in the list as well as in the default property list.
void list(PrintStream streamOut) It sends the property list to the specified output stream linked to the streamOut.
  List(PrintWriter streamOut) It sends the property list to the specified output stream linked to the streamOut.
  load(InputStream streamIn throws IOException) It reads a property list (key and element pairs) from the specified input byte stream linked to streamIn.
  load(Reader streamIn throws IOException) It reads a property list from the input stream linked to streamIn.
  loadFromXML(InputStream streamIn) It loads all the property list represented by an XML document on the specified input stream.
  putAll(Map t) This method copy all of the mapping from the specified map to the hashtable.
  store(OutputStream streamOut, String description) It writes the property list of the Properties table to the specified output stream after writing the string specified by the description parameter.
  store(Writer writer, String comments) It writes the property list of the Properties table to the specified output stream after writing the string specified as comments
  storeToXML(OutputStream out, String comment) The property list is written to the XML document specified in the argument after writing the string specified as a comment.
  storeToXML(OutputStream out, String comment, String enc) The property list and the string specified in the argument is written to XML document linked in the argument.
Enumeration<?> propertyNames() It returns an enumeration of keys that includes those keys found also in the default property list.
Object setProperty(String key, String value) It calls the Hashtable method put, or returns the previous value associated with key or returns null if no associations exist.
Set<String> stringPropertyNames() It returns a set of keys that is unmodifiable, from the property list where key-value pair is the string that includes distinct key in the default property list if an identical key has not already been found from the main property list.
Collection<Object> Values() It returns a collection view of the values contained in the map.
Object merge(Object key, Object value, BiFunction remappingFunction) It associates the specified key with the specified non-null value if the specified key is not already associated with a value or null.

Example code to illustrate getProperty() method.

 import Java.util.*;
class GetProperrtyDemo
{
    public static void main(String arg[])
    {
        Properties p = new Properties();
        Set sub;
        String str;
        p.put("A", "Java");
        p.put("B", "Python");
        p.put("C", "SQL");
        // checking values in table
        sub = p.keySet();
        Iterator itr = sub.iterator();
        while(itr.hasNext())
        {
            str = (String)itr.next();
            System.out.println("Subject associated with " + str +  " is " + p.getProperty(str));
        }
        System.out.println();
        // looking for subject that is in list
        str = p.getProperty("Oracle", "not found");
        System.out.println("The Subject " + str);
    }
} 

Output:

 Subject associated with A is Java
Subject associated with C is SQL
Subject associated with B is Python
The Subject not found 

Example code to illustrating list() method.

 import Java.util.*;
class ListDemo
{
    public static void main(String arg[])
    {
        Properties p = new Properties();
        p.put("Ankit", "Java");
        p.put("Sumit", "DBMS");
        p.put("Akash", "Bash");
        p.list(System.out);
    }
} 

Output:

 -- listing properties --
Ankit=Java
Sumit=DBMS
Akash=Bash 

Exampple code to illustrate propertyNames() method.

 import Java.util.*;
class PropertyNameDemo
{
    public static void main(String arg[])
    {
        Properties p = new Properties();
        String s;
        p.put("Ankit", "Java");
        p.put("Sumit", "DBMS");
        p.put("Akash", "Bash");
        Enumeration name = p.propertyNames();
        // displaying the enumaration of elements
        System.out.println(name.nextElement());
        System.out.println(name.nextElement());
        System.out.println(name.nextElement());
    }
} 

Output:

 Ankit
Sumit
Akash 

Example code to illustrate setProperty() method.

 import Java.util.*;
class SetPropDemo
{
    public static void main(String arg[])
    {
        Properties p = new Properties();
        p.put("Amar", "Python");
        p.put("Akbar", "Java");
        p.setProperty("Anthony", "Microservices");
        System.out.println(p);
    }
} 

Output:

{Anthony=Microservices, Akbar=Java, Amar=Python}

Example to illustrate the load and Store method.

 import Java.io.*;
import Java.util.*;
class StoreLoadDemo {
public static void main(String args[])
throws IOException
{
                Properties p = new Properties();
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                String name, number;
                FileInputStream fin = null;
                boolean changed = false;
// Try to open Student database.
                try {
                                                fin = new FileInputStream("D:\\StudentData.dat");
                                }
                catch(Exception e)
                {
                                e.printStackTrace();
                }
                /* If student file already exists, load existing students numbers. */
                try {
                                                if(fin != null) {
                                                                p.load(fin);
                                                                fin.close();
                                                }
                }
                catch(IOException e)
                {
                System.out.println("Error reading file.");
                }
                // Let user enter new names and numbers.
                do
                {
                System.out.println("Enter new name" +" ('quit' to stop): ");
                name = br.readLine();
                if(name.equals("quit")) continue;
                System.out.println("Enter number: ");
                number = br.readLine();
                p.put(name, number);
                changed = true;
                }
                while(!name.equals("quit"));
                // If Student data has changed, save it.
                if(changed)
                {
                FileOutputStream fout = new FileOutputStream("D:\\StudentData.dat");
                p.store(fout, "Student Database");
                fout.close();
                }
                // Look up numbers given a name.
                do {
                System.out.println("Enter name to find" +" ('quit' to quit): ");
                name = br.readLine();
                if(name.equals("quit")) continue;
                number = (String) p.get(name);
                System.out.println(number);
                }
                while(!name.equals("quit"));
 }
} 

Output:

 Enter new name ('quit' to stop):
Ankit
Enter number:
9013777664
Enter new name ('quit' to stop):
Ashish
Enter number:
1245799453
Enter new name ('quit' to stop):
quit
Enter name to find ('quit' to quit):
Ankit
9013777664
Enter name to find ('quit' to quit):
quit 

Related Topics

Types of Bitwise Operators in Java

In this tutorial, we will learn about the various types or kinds of bitwise operators in java. Before proceeding to bitwise operators, let us know what is meant by the...

6 minutes read.

CRC Program in Java

The acronym CRC stands for Cyclic Redundancy Check. It is invented by W. Wesley Peterson in 1961. It is an error detection technique that detects errors in digital networks (also...

5 minutes read.

Flag Pattern in Java

The flag pattern in Java can be printed, which will be covered in this part. Given how difficult they are to code, flag patterns are rarely asked by interviewers. We separate...

2 minutes read.

Binary Strings Without Consecutive Ones in Java

N, an integer, is provided. Our objective is to determine the overall number of strings with length N that do not include successive 1s. Example: Input: 3 Output: 6 Explanation The binary forms of length...

6 minutes read.

FizzBuzz Program in Java

FizzBuzz is a well-known children's game. This game helps children learn division. The FizzBuzz game is becoming a popular programming question, appearing frequently in Core Java interviews. This section will...

3 minutes read.

Java Math decrementExact() Method

The decrementExact() method of Math class returns the argument which is decremented by one, throwing an exception is the result overflows an int or long. Syntax: public static int decrementExact (int a) Parameters: The...

1 minute read.

Isomorphic String in Java

In this tutorial, we will understand what is meant by isomorphic String in java. We will also see a Java program to find out if the string is isomorphic or...

4 minutes read.

Objects and Classes in Java

Objects and Classes in Java Classes and objects are the basic concepts of object-oriented programming. It revolves around the real world entity. In Java, the object is a physical and logical...

5 minutes read.

Maximum length of string in java

In java, String can act as a data type and a class. The string can be defined as the collection of characters that are enclosed with double quotes(“ “). The...

3 minutes read.

Shallow copy in Java

Java's most important task is making a copy or clone of an object. In this part, we'll talk about shallow copies in Java and how to make them of Java...

4 minutes read.

Prime Number Program in Java Using a Scanner

In Java, a prime number is one that can only be divided by one or by itself and is greater than one. In other words, only one or itself can...

3 minutes read.

Java ResultSetMetaData

The data about another data is called Metadata. The ResultSetMetaData is used to store the data about ResultSet. The ResultSet Contains the columns, rows, names of table, datatypes etc. these...

2 minutes read.

Program to find the duplicate characters in a string

Problem statement You have given with a string and your task is to find out the repeated characters from the string and print them. If no character is repeated, then you...

2 minutes read.

Sealed Class in Java

What is a Sealed Class in Java? In programming, the two main issues that must be taken into account when creating an application are security and control flow. The use of...

5 minutes read.

What’s new in Java 12

On March 19th, 2019, the Java 12th edition was released. After releasing this edition, they have decided to release every new edition every six months. This version is the advanced...

5 minutes read.

Difference Between Thread.start() and Thread.run()

In the Java programming language, the multi-threading concept consists of the start() and run() methods. Thread.start(): The thread's execution is initiated by invoking the start() method. The start() method operates two threads...

4 minutes read.

Java Math asin() Method

The asin() method of Math class computes the trigonometric Arc Sine (inverse of sine ) of an angle. The value returned is between -pi/2 to pi/2. Syntax: public static double asin(double a) Parameters: The...

1 minute read.

Thread Synchronization in Java

In Java, the smallest processing component is a thread, which is a small subprocess. It follows a different course of action. Threads are autonomous. If an exception occurs in one thread,...

6 minutes read.

How to run Java Program in Eclipse

How to run Java Program in Eclipse In this section, we will learn how to write, save, compile, and execute or run a Java program in Eclipse. Eclipse is one of...

2 minutes read.

Generics in Java

Generics in Java Parameterizedtypes mean generic. Generics allow types (Character, Integer, String, …, etc., as well as user-defined types) to act as parameters to interfaces, classes, and methods. Generics in Java...

9 minutes read.