Java加载Properties配置文件工具类
Java加载Properties配置文件工具类
import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import java.io.InputStream; import java.util.HashMap; import java.util.Map; import java.util.Properties; /** * Created by yang on 2017/1/5. * 静态配置 */ public class Constants { private static Logger logger = Logger.getLogger(Constants.class); private static Map<String, String> configMap = null; static { Properties pt = new Properties(); InputStream ist = null; try { ist = Constants.class.getClassLoader().getResourceAsStream("datasource-config.properties"); pt.load(ist); configMap = new HashMap<String, String>(pt.keySet().size()); logger.info("Constants list:"); for (Object keyObj : pt.keySet()) { String key = keyObj.toString(); Object objs = pt.get(key); logger.info(key + ":" + objs); configMap.put(key.trim(), objs.toString()); } } catch (Exception e) { logger.error(e.getCause()); } finally { try { if (null != ist) { ist.close(); } } catch (Exception e) { e.printStackTrace(); } } } private static String getSimpleValue(String key, String defaultValue) { String value = configMap.get(key); if (value == null || value.trim().length() == 0) { value = defaultValue; } assert StringUtils.isNotBlank(value); return value; } private static String getSimpleValue(String key) { return configMap.get(key).toString(); } public static String getEsTopicHost() { return getSimpleValue("dataSource.es.topic.host"); } public static String getEsUserLogHost() { return getSimpleValue("dataSource.es.userlog.host"); } public static int getShardedPoolMaxTotal() { return Integer.valueOf(getSimpleValue("redis.shardedpool.maxtotal", "20")).intValue(); } public static long getShardedPoolMaxWaitMillis() { return Long.valueOf(getSimpleValue("redis.shardedpool.maxwaitmillis", "1000")).longValue(); } //redis public static String getRedisHost() { return getSimpleValue("redis.host"); } public static String getRedisPort() { return getSimpleValue("redis.port", "6379"); } }