package com.neptune.common.utils.properties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Properties; public class PropertiesUtil{ private static final Logger LOGGER = LoggerFactory.getLogger(PropertiesUtil.class); /** * 默认编码为UTF-8 */ private static String DEFAULT_ENCODING = "UTF-8"; private static Properties prop = new Properties(); public PropertiesUtil(String fileName){ readProperties(fileName); } /** * 读取配置文件 * * @param fileName */ public void readProperties(String fileName){ try{ InputStreamReader inputStream = new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream(fileName), DEFAULT_ENCODING); prop.load(inputStream); InputStream in = PropertiesUtil.class.getResourceAsStream("/" + fileName); BufferedReader buf = new BufferedReader(new InputStreamReader(in)); prop.load(buf); }catch (IOException e){ LOGGER.error("reading the configuration file is abnormal"); } } /** * 根据key读取对应的value * * @param key * @return */ public static String getProperty(String key){ return prop.getProperty(key); } /** * 获取所有的配置信息 * @return * @return Map<?,?> * @throws */ public Map<?, ?> getAll(){ Map<String, String> map = new HashMap<String, String>(); Enumeration<?> enu = prop.propertyNames(); while (enu.hasMoreElements()){ String key = (String) enu.nextElement(); String value = prop.getProperty(key); map.put(key, value); } return map; } }
转载于:https://my.oschina.net/easy3399/blog/1593497