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()) ; 
 | 
         } 
 | 
    } 
 | 
} 
 |