A Properties object is a persistent Hashtable that stores key–value pairs of Strings. By "persistent", we mean that the Properties object can be written to an output stream (possibly a file) and read back in through an input stream. A common use of Properties objects in prior versions of Java was to maintain application-configuration data or user preferences for applications.
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;
public class PropertiesTest {
public static void main(String[] args) {
Properties table = new Properties();
// set properties
table.setProperty("color", "blue");
table.setProperty("width", "200");
System.out.println("After setting properties");
listProperties(table);
// replace property value
table.setProperty("color", "red");
System.out.println("After replacing properties");
listProperties(table);
saveProperties(table);
table.clear(); // empty table
System.out.println("After clearing properties");
listProperties(table);
loadProperties(table);
// get value of property color
Object value = table.getProperty("color");
// check if value is in table
if (value != null)
System.out.printf("Property color's value is %s%n", value);
else
System.out.println("Property color is not in table");
}
// save properties to a file
private static void saveProperties(Properties props) {
// save contents of table
try {
FileOutputStream output = new FileOutputStream("props.dat");
props.store(output, "Sample Properties"); // save properties
output.close();
System.out.println("After saving properties");
listProperties(props);
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
// load properties from a file
private static void loadProperties(Properties props) {
// load contents of table
try {
FileInputStream input = new FileInputStream("props.dat");
props.load(input); // load properties
input.close();
System.out.println("After loading properties");
listProperties(props);
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
// output property values
private static void listProperties(Properties props) {
Set<object> keys = props.keySet(); // get property names
// output name/value pairs
for (Object key : keys)
System.out.printf("%s\t%s%n", key, props.getProperty((String)key));
System.out.println();
}
}
OUTPUT
After setting properties
color blue
width 200
After replacing properties
color red
width 200
After saving properties
color red
width 200
After clearing properties
After loading properties
color red
width 200
Property color's value is red
No comments:
Post a Comment