package com.midea.clean.util; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URI; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Properties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class PropertiesUtil { private static Properties props; private static final String propertieFile = "/returnCode.properties"; private static final Logger LOGGER = LoggerFactory.getLogger(PropertiesUtil.class); private PropertiesUtil(String fileName) { } static{ try { props = new Properties(); InputStream fis = PropertiesUtil.class.getResourceAsStream(propertieFile); props.load(fis); } catch (Exception e) { e.printStackTrace(); } } private static void readProperties(String fileName) { try { props = new Properties(); InputStream fis = PropertiesUtil.class.getResourceAsStream(fileName); props.load(fis); } catch (Exception e) { e.printStackTrace(); } } /** * 获取某个属性 * @throws UnsupportedEncodingException */ public static String getProperty(String key) { if (props == null) { readProperties(propertieFile); } try { LOGGER.info("获取属性 {}",key); String tmp = new String(props.getProperty(key).getBytes("ISO8859-1"), "UTF8"); LOGGER.info("获取属性 {}:{}", key, tmp); return tmp; } catch (UnsupportedEncodingException e) { LOGGER.info("编码格式不支持:{}",e.getMessage()); return ""; } } /** * 获取所有属性,返回一个map,不常用 可以试试props.putAll(t) */ public Map getAllProperty() { if (props == null) { readProperties(propertieFile); } Map map = new HashMap(); Enumeration enu = props.propertyNames(); while (enu.hasMoreElements()) { String key = (String) enu.nextElement(); String value = props.getProperty(key); map.put(key, value); } return map; } /** * 在控制台上打印出所有属性,调试时用。 */ public void printProperties() { props.list(System.out); } /*public static void main(String[] args) throws UnsupportedEncodingException { System.out.println(PropertiesUtil.getProperty("loginUsername")); }*/ }