commons.configuration 读取示例

来源:互联网 发布:南风知我意乔若雨 编辑:程序博客网 时间:2024/04/29 01:44
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);}}


0 0