| package com.dy.common.util; | 
|   | 
| import java.io.IOException; | 
| import java.io.InputStream; | 
| import java.util.HashMap; | 
| import java.util.Iterator; | 
| import java.util.Map.Entry; | 
| import java.util.Properties; | 
|   | 
| @SuppressWarnings("unused") | 
| public class ConfigProperties { | 
|     private static HashMap<String, String> properties = new HashMap<>(); | 
|      | 
|     private ConfigProperties() { | 
|     } | 
|      | 
|     /** | 
|      * 是否有属性了 | 
|      * @return 存在属性配置返回true,否则返回false | 
|      */ | 
|     public static boolean hasProperties(){ | 
|         return properties != null && properties.size() > 0; | 
|     } | 
|      | 
|     /** | 
|      * 根据配置名称得到配置值 | 
|      *  | 
|      * @param name 属性名 | 
|      * @return 属性值 | 
|      */ | 
|     public static String getConfig(String name) { | 
|         if (properties == null) { | 
|             return null; | 
|         } | 
|         if(name.trim().equals("")){ | 
|             return "" ; | 
|         } | 
|         return properties.get(name); | 
|     } | 
|   | 
|     /** | 
|      * 初始化配置 | 
|      *  | 
|      * @param in 输入流 | 
|      * @param repeatCover 是否重复 | 
|      * @throws Exception  抛出异常 | 
|      */ | 
|     public static void init(InputStream in, boolean repeatCover) throws Exception { | 
|         if(in == null){ | 
|             throw new Exception("属性配置文件不存在!") ; | 
|         } | 
|         if(properties.size() > 0){ | 
|             if(repeatCover){ | 
|                 parseProperties(in);         | 
|             } | 
|         }else{ | 
|             parseProperties(in);         | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 重新初始化 | 
|      *  | 
|      * @param in 输入流 | 
|      * @throws Exception 抛出异常 | 
|      */ | 
|     public static void reInit(InputStream in) throws Exception { | 
|         properties = new HashMap<>(); | 
|         parseProperties(in); | 
|     } | 
|      | 
|      | 
|     private static void parseProperties(InputStream in) throws IOException{ | 
|          Properties prop = new Properties();          | 
|          prop.load(in);  | 
|          Iterator<Entry<Object, Object>> it = prop.entrySet().iterator() ; | 
|          Entry<Object, Object> entry ; | 
|          while(it.hasNext()){ | 
|              entry = it.next() ; | 
|              properties.put((String)entry.getKey(), (String)entry.getValue()) ; | 
|          } | 
|     } | 
| } |