commons.configuration 读取示例

package com.dada.datatransfer.config;

import java.io.File;
import java.util.List;

import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy;

   
/**            
 * @author  dada       
 * @version 1.0      
 * @created 2014-1-15 下午4:13:12 
 * @作用     	读取config.xml配置文件信息
 *    
 */       
public class ConfigFactory {
	private static final String CONFIG_FILE_DEFAULT_PATH = "./conf/config.xml";
	private static XMLConfiguration config = null;

	   
	/**      
	 * @作用       
	 */ 
	private ConfigFactory() {
		
	}
	
	   
	/**      
	 * @作用  根据  config.xml 文件路径初始化 config 对象     
	 * @param configFilePath   
	 */
	public static void init(String configFilePath) {
		if (configFilePath == null) {
			configFilePath = CONFIG_FILE_DEFAULT_PATH;
		}
		try {
			//获取工程的本目录路径
			String path = System.getProperty("datatransfer");
			if (path == null) {
				path = "";
			}
			config = new XMLConfiguration(path + File.separator
					+ configFilePath);
			config.setReloadingStrategy(new FileChangedReloadingStrategy());
		} catch (ConfigurationException e) {
			System.out.println("Fatal:Create Config Object Error!!!");
			System.exit(1);
		}
	}

	
	/**      
	 * @作用 根据congig标签从config文件中获取对应标签的字符串值
	 * @param configXPath
	 * @return   
	 */
	public static String getString(String configXPath) {
		return config.getString(configXPath, null);
	}

	   
	/**
	 * @作用 根据指定的标签的路径获取元素的值,可以设置默认值
	 * @param configXPath 标签路径
	 * @param defaultValue 默认值
	 * @return 标签值
	 */
	public static String getString(String configXPath, String defaultValue) {
		return config.getString(configXPath, defaultValue);
	}

	/**      
	 * @作用 根据指定的标签的路径获取元素的int值      
	 * @param configXPath 标签路径
	 * @return 标签值 
	 */
	public static int getInt(String configXPath) {
		return config.getInt(configXPath);
	}

	   
	/**      
	 * @作用 根据指定的标签的路径获取元素的int值 ,可以设置默认值   
	 * @param configXPath 标签路径
	 * @param defaultValue 默认值
	 * @return 标签值
	 */
	public static int getInt(String configXPath, int defaultValue) {
		return config.getInt(configXPath, defaultValue);
	}

	
	/**      
	 * @作用  根据标签的路径获取标签对应的float值      
	 * @param configXPath 标签路径
	 * @return 标签值
	 */
	public static float getFloat(String configXPath) {
		return config.getFloat(configXPath, 1.0F);
	}

	/**      
	 * @作用 根据标签路径获取标签对应的boolean值       
	 * @param configXPath 标签路径
	 * @return 标签值
	 */
	public static boolean getBoolean(String configXPath) {
		return config.getBoolean(configXPath);
	}

	/**
	 * @作用 根据标签路径获取标签对应的boolean值 ,可以设置默认值
	 * @param configXPath 待读取标签的路径
	 * @param defaultValue 默认值
	 * @return 标签值
	 */
	public static boolean getBoolean(String configXPath, boolean defaultValue) {
		return config.getBoolean(configXPath, defaultValue);
	}

	/**
	 * @作用 根据标签路径获取标签对应的 list 值
	 * @param configXPath 待读取的标签路径
	 * @return 标签值
	 */
	@SuppressWarnings("unchecked")
	public static List<String> getList(String configXPath) {
		return config.getList(configXPath);
	}
}


你可能感兴趣的:(commons.configuration 读取示例)