一个读取propeties配置文件的工具类,线程安全的

Posted xue123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个读取propeties配置文件的工具类,线程安全的相关的知识,希望对你有一定的参考价值。

public class ConfigUtil {

private static Map<String,Properties> map = new HashMap<String,Properties>();

/**
* 根据Properties文件名称获取Properties对象
* @param name
* @return Properties
* @throws IOException
*/
private synchronized static Properties createProperties(String name) throws IOException{
Properties p = map.get(name);
if(p == null){
p = new Properties();
p.load(ConfigUtil.class.getResourceAsStream(name));
map.put(name, p);
}
return p;
}
/**
* 根据Properties文件名和其中的key获取value
* @param proName, key
* @return String value
* @throws IOException
*/
public static String getValue(String proName,String key) throws IOException{
return createProperties(proName).getProperty(key);
}
/**
* 根据mqttconfig.properties文件的key获取value
* @param String key
* @return String value
* @throws IOException
*/
public static String getValue(String mqttKey) throws IOException{
return createMQTTProperties().getProperty(mqttKey);
}
/**
* 专门获取mqttconfig.properties的Properties
* @param
* @return Properties p
* @throws IOException
*/
public static Properties createMQTTProperties() throws IOException{
Properties p = map.get("mqttconfig.properties");
if(p == null){
p = new Properties();
p.load(ConfigUtil.class.getResourceAsStream("/mqttconfig.properties"));
map.put("mqttconfig.properties", p);
}
return p;
}
public static void main(String[] args) throws IOException{
System.out.println(getValue("/mqttconfig.properties","port"));
}
}

以上是关于一个读取propeties配置文件的工具类,线程安全的的主要内容,如果未能解决你的问题,请参考以下文章

Qt通过QSttings类读取*.ini配置文件

JDBCUtils工具类配置文件的读取方式

配置文件读取工具类--PropertiesUtil

java-工具类-读取配置文件

10.5 android输入系统_Reader线程_使用EventHub读取事件和核心类及配置文件_实验_分析

java-JDBC.mysql 工具类 读取本地文件配置