zoukankan      html  css  js  c++  java
  • PropertiesUtil 读取properties

    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"));
        }*/
    }
  • 相关阅读:
    gtest ASSERT_TRUE和EXPECT_TRUE
    linux中文乱码
    [转]linux实时查看更新日志命令
    显示log里的ansi codecs颜色字符
    批量注释LOG
    Winrm远程命令/端口复用后门复现运用
    SSM整合Redis中的小记录
    从《MySQL蜜罐攻击反制微信ID》中的启发与复现
    CSharp插件编写-GetPwd密码获取器
    从pipePotato中学习Windows Access Token令牌模拟
  • 原文地址:https://www.cnblogs.com/yun965861480/p/7061744.html
Copyright © 2011-2022 走看看