Properties in Java

Properties  in Java

Properties in Java is a subclass of  Hashtable.It stores String values against String keys.The contents of a  Properties object  can be directly saved to  a file and a properties file can be  directly  loaded to a properties object.Since Properties  is a subclass of Hashtable,  the methods put() and putAll()  is applicable to Properties too. These methods allow the insertion of non-String keys as well as values.So the use of put() and putAll() is highly discouraged.

The program shown below reads a properties file and displays the key value pairs.The appending few more keys.The existing myfile.properties file is in C:/tmp folder.

#States in India & Capitals

Goa = Panaji

Kerala = Trivandrum

TN = Chennai

#comment

 

Now see the code shown below.

import java.io.*;
import java.util.Enumeration;
import java.util.Properties;
public class PropRead {
Properties properties = null;
File file = null;
public PropRead() {
file = new File("C:/tmp/myfile.properties");
}
public void readProperties() {
System.out.println("Contents of properties");
properties = new Properties();
try {
properties.load(new FileInputStream(file));
Enumeration enumeration = properties.propertyNames();
while (enumeration.hasMoreElements()) {
String key = enumeration.nextElement().toString();
System.out.println("Key : " + key + " ; Value : " + properties.get(key));
}
System.out.println("Reading is over");
} catch (IOException e) {
e.printStackTrace();
}
}
public void appendProperties() {
properties.setProperty("Karnataka", "Bangalore");
properties.setProperty("Bihar", "Patna");
try {
FileOutputStream outputStream = new FileOutputStream(file);
properties.store(outputStream, null);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException io) {
io.printStackTrace();
}
System.out.println("Added new properties");
}
public static void main(String[] args) {
PropRead propRead = new PropRead();
propRead.readProperties();
propRead.appendProperties();
propRead.readProperties();
}
}

Output

Contents of properties

Key : TN ; Value : Chennai

Key : Goa ; Value : Panaji

Key : Kerala ; Value : Trivandrum

Reading is over

Added  new properties

Contents of properties

Key : Karnataka ; Value : Bangalore

Key : TN ; Value : Chennai

Key : Goa ; Value : Panaji

Key : Bihar ; Value : Patna

Key : Kerala ; Value : Trivandrum

Reading is over