建立管理读取配置文件类:
public class ConfigManager {
private static final Log log = LogFactory.getLog(ConfigManager.class);
private static Configuration config;
private static ConfigManager instance;
private ConfigManager() {
loadConfig();
}
public static ConfigManager getInstance() {
if (instance == null) {
synchronized (ConfigManager.class) {
instance = new ConfigManager();
}
}
return instance;
}
public void loadConfig() {
loadConfig("config.xml");
}
public void loadConfig(String configFileName) {
try {
ConfigurationFactory factory = new ConfigurationFactory(
configFileName);
config = factory.getConfiguration();
log.info("Configuration loaded: " + configFileName);
} catch (Exception ex) {
log.error(ex.getMessage(), ex);
throw new RuntimeException("Configuration loading error: "
+ configFileName, ex);
}
}
public Configuration getConfig() {
return config;
}
}
读取配置文件类:
public class Config {
public static String getString(String key) {
return ConfigManager.getInstance().getConfig().getString(key);
}
public static String getString(String key, String def) {
return ConfigManager.getInstance().getConfig().getString(key, def);
}
public static int getInt(String key) {
return ConfigManager.getInstance().getConfig().getInt(key);
}
public static int getInt(String key, int def) {
return ConfigManager.getInstance().getConfig().getInt(key, def);
}
public static long getLong(String key) {
return ConfigManager.getInstance().getConfig().getLong(key);
}
public static long getLong(String key, long def) {
return ConfigManager.getInstance().getConfig().getLong(key, def);
}
public static float getFloat(String key) {
return ConfigManager.getInstance().getConfig().getFloat(key);
}
public static float getFloat(String key, float def) {
return ConfigManager.getInstance().getConfig().getFloat(key, def);
}
public static double getDouble(String key) {
return ConfigManager.getInstance().getConfig().getDouble(key);
}
public static double getDouble(String key, double def) {
return ConfigManager.getInstance().getConfig().getDouble(key, def);
}
public static boolean getBoolean(String key) {
return ConfigManager.getInstance().getConfig().getBoolean(key);
}
public static boolean getBoolean(String key, boolean def) {
return ConfigManager.getInstance().getConfig().getBoolean(key, def);
}
public static String[] getStringArray(String key) {
return ConfigManager.getInstance().getConfig().getStringArray(key);
}
@SuppressWarnings("unchecked")
public static List getList(String key) {
return ConfigManager.getInstance().getConfig().getList(key);
}
@SuppressWarnings("unchecked")
public static List getList(String key, List def) {
return ConfigManager.getInstance().getConfig().getList(key, def);
}
public static void setProperty(String key, Object value) {
ConfigManager.getInstance().getConfig().setProperty(key, value);
}
}
配置文件:
config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<system />
<properties fileName="config.properties" />
</configuration>
config.properties 添加key 和value