zoukankan      html  css  js  c++  java
  • 一个读取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"));
    }
    }

  • 相关阅读:
    构建之法阅读笔记02
    4.7-4.13 第八周总结
    构建之法阅读笔记01
    顶会热词统计
    结对作业-四则运算升级版
    3.31-4.5 第七周总结
    大道至简阅读笔记03
    3.23-3.30 第六周总结
    第7周总结
    人月神话阅读笔记之三
  • 原文地址:https://www.cnblogs.com/zhaoblog/p/5948098.html
Copyright © 2011-2022 走看看