一个properties常用类,以前收藏的
java 代码
- package cn.feigme.util;
- import java.net.URL;
- import java.util.*;
- /**
- * Util class that will read properties from the WEB-INF/classes/directory
- * or by specifying a URL on the filesystem.
- * Also has a helper method for creating a platform independent URL.
- */
- public class PropertyReader {
- /**
- * Retrieve the properties specified by the fileName
- * The property file should be in the WEB-INF/classess directory
- * Suppose you need to get the properties in the
- * web-inf/classes/config/application.properties ,
- * you need to pass the propertyFile: config/application.properties
- *
- * @param propertyFile relative path to a properties file in the WEB-INF/classes directory
- * @return a <code>Properties<code> object based on the input file
- **/
- public static Properties getProperties(String propertyFile) {
- try {
- URL url = getPropertiesURL(propertyFile);
- return getProperties(url);
- }
- catch (Exception e) {
- System.out.println("Error ocurred during properties retrieval");
- System.out.println(e.getMessage());
- return null;
- }
- }
- /**
- * This method will return a platform independent URL to a file
- * in the web-inf/classes direcotry.
- *
- * @param fileName relative path to a properties file in the WEB-INF/classes directory
- * @return a platform independent URL to the xml file.
- */
- public static URL getPropertiesURL(String fileName) {
- try {
- System.out.println("Getting the properties URL");
- URL url = null;
- url = PropertyReader.class.getResource("/" + fileName);
- String s = url.toString();
- System.out.println("Filename of the properties file is: " + s);
- if (s.indexOf("file://") != -1) {
- int indexOf = s.indexOf("file://") + 6;
- String temp = s.substring(0, indexOf);
- System.out.println("temp = " + temp + " moet zijn file:/");
- url = new URL(temp + "//" + s.substring(indexOf));
- System.out.println("The url is now: " + url);
- }
- return url;
- }
- catch (Exception e) {
- System.out.println("Error ocurred during properties retrieval");
- System.out.println(e.getMessage());
- return null;
- }
- }
- /**
- * Retrieve the properties accesible through the specified URL
- *
- * @param url a reference to a properties file
- * @return a properties file
- **/
- public static Properties getProperties(URL url) {
- try {
- Properties props = new Properties();
- // Check for Solaris compatibility.
- // A // in the file protocol won't be found in Solaris.
- props.load(url.openStream());
- System.out.println("Properties have been loaded: " + props);
- return props;
- }
- catch (Exception e) {
- System.out.println("Error ocurred during properties retrieval");
- System.out.println(e.getMessage());
- return null;
- }
- }
- }