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"));
    }*/
}

 

转载于:https://www.cnblogs.com/yun965861480/p/7061744.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值