Property Loader : Properties « Collections « Java Tutorial






import java.io.InputStream;
import java.util.Enumeration;
import java.util.Locale;
import java.util.Properties;
import java.util.ResourceBundle;

public class PropertyLoader {

  public static Properties loadProperties(String name, ClassLoader loader) throws Exception {
    if (name.startsWith("/"))
      name = name.substring(1);
    if (name.endsWith(SUFFIX))
      name = name.substring(0, name.length() - SUFFIX.length());
    Properties result = new Properties();
    InputStream in = null;
    if (loader == null)
      loader = ClassLoader.getSystemClassLoader();
    if (LOAD_AS_RESOURCE_BUNDLE) {
      name = name.replace('/', '.');
      ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault(), loader);
      for (Enumeration keys = rb.getKeys(); keys.hasMoreElements();) {
        result.put((String) keys.nextElement(), rb.getString((String) keys.nextElement()));
      }
    } else {
      name = name.replace('.', '/');
      if (!name.endsWith(SUFFIX))
        name = name.concat(SUFFIX);
      in = loader.getResourceAsStream(name);
      if (in != null) {
        result = new Properties();
        result.load(in); // can throw IOException
      }
    }
    in.close();
    return result;
  }

  public static Properties loadProperties(final String name) throws Exception {
    return loadProperties(name, Thread.currentThread().getContextClassLoader());
  }

  private static final boolean LOAD_AS_RESOURCE_BUNDLE = false;

  private static final String SUFFIX = ".properties";

}








9.34.Properties
9.34.1.Setting and Getting Elements
9.34.2.using properties
9.34.3.Getting property by String key value
9.34.4.Getting a key List from Properties
9.34.5.Loading and Saving properties
9.34.6.Use store() to save the properties
9.34.7.List Properties to a print stream or print writer
9.34.8.Using Enumeration to loop through Properties
9.34.9.Put value to a Property list.
9.34.10.Sort Properties when saving
9.34.11.Sorts a property list and turns the sorted list into a string.
9.34.12.Sorts property list and print out each key=value pair prepended with specific indentation.
9.34.13.Load a properties file in the classpath
9.34.14.A Properties file stored in a JAR can be loaded this way
9.34.15.Load a properties file in the startup directory
9.34.16.Have a multi-line value in a properties file
9.34.17.Use XML with Properties
9.34.18.Store properties as XML file
9.34.19.Getting and Setting Properties
9.34.20.Convert a Properties list into a map.
9.34.21.To read a Properties file via an Applet
9.34.22.Read system property as an integer
9.34.23.Read a set of properties from the received input stream, strip off any excess white space that exists in those property values,
9.34.24.Property access utility methods
9.34.25.An utility class to ease up using property-file resource bundles.
9.34.26.Copy a set of properties from one Property to another.
9.34.27.Create Properties from String array
9.34.28.Gets strong-type-value property from a standard Properties
9.34.29.Merge Properties Into Map
9.34.30.Property Loader
9.34.31.Returns a Properties object matching the given node
9.34.32.The properties iterator iterates over a set of enumerated properties.
9.34.33.Use a default property list.