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 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> it = prop.entrySet().iterator() ; Entry entry ; while(it.hasNext()){ entry = it.next() ; properties.put((String)entry.getKey(), (String)entry.getValue()) ; } } }