Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Spring Framework | Web Services | BioInformatics | Java Server Faces | Jboss 3.0 tutorial | Hibernate 3.0 | XML

Tutorial Categories: Ajax | Articles | JSP | Bioinformatics | Database | Free Books | Hibernate | J2EE | J2ME | Java | JavaScript | JDBC | JMS | Linux | MS Technology | PHP | RMI | Web-Services | Servlets | Struts | UML


Java Tutorials



Struts Tutorials

Struts Resources

Visit Forum! Post Questions!
Jobs At RoseIndia.net!

Java Notes


Note: The function of the java.util.Properties class, to save and restore the properties for a program, might be easier to do using java.util.Preferences. See Preferences.

The java.util.Properties class stores and loads key/value pairs from a file, and manages them in memory. This is the class to use to implement persistent variables (values which are saved in a file).

To create and put values in a Properties table

This example creates a new Properties table and assigns a string value to four different keys.

Properties props = new Properties(); 
props.setProperty("recursiveSearch", "true");
props.setProperty("noCopyPattern", "*.$$$");
props.setProperty("maxLevel", "7");
props.setProperty("fileName", "C:\temp\work.html");

To store a Properties table in a file

Use the Properties .store(OutputStream, String) method. It will write the properties to the output stream, with a header line from the String parameter. Assuming you have variables and an OutputStream like:

boolean recursiveSearch;
String noCopyPattern;
int maxLevel;
. . .
try {
  OutputStream propOut = new FileOutputStream(
            new File("props.stat"));
}catch (. . .

To change values from their natural types to String, the usual idiom is to use concatenation of the empty string..

props.setProperty("recursiveSearch", ""+recursiveSearch);
props.setProperty("noCopyPattern"  , noCopyPattern");
props.setProperty("maxLevel"       , ""+maxLevel);

props.store(propOut, "Macro Processor Properties");

To load Properties from a file

Use the Properties .load(InputStream); method.

You will probably want to get each property value and assign it to an internal variable and perhaps show it in the user interface. For example,

boolean recursiveSearch;
String noCopyPattern;
int maxLevel;
. . .

// Change the properties back into their natural types.
recursiveSearch = Boolean.getBoolean(props.getProperty("recursiveSearch"));
noCopyPattern = props.getProperty("noCopyPattern");
maxLevel = Integer.parseInt(props.getProperty("maxLevel");

To use default properties

  1. Create a Properties table with all of the default key/value pairs. For example,
    Properties defaultProps = new Properties();
    defaultProps.setProperty("sourceFile", "");
    defaultProps.serProperty("enableScrolling", "false");
  2. Use this default table in the constructor for your regular properties table:
    Properties props = new Properties(defaultProps);

Constructor and Method Summary

Properties(Properties defaultValues)

Object setProperty(String key, String value)
String getProperty(String key)
String getProperty(String key, String defaultValue)
Enumeration propertyNames()

void   load(InputStream in)
void   store(OutputStream out, String header)

Related Pages

Ask programming questions?



Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 

Current Comments

0 comments so far (post your own) View All Comments Latest 10 Comments:
  JDO Tutorials
  EAI Articles
  Struts Tutorials
  Java Tutorials
  Java Certification

Tell A Friend
Your Friend Name


Browse all Java Tutorials
Java JSP Struts Servlets Hibernate XML
Ajax JDBC EJB MySQL JavaScript JSF
Maven2 Tutorial JEE5 Tutorial Java Threading Tutorial Photoshop Tutorials Linux Technology
Technology Revolutions Eclipse Spring Tutorial Bioinformatics Tutorials Tools SQL

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright 2007. All rights reserved.

[an error occurred while processing this directive]