码迷,mamicode.com
首页 > 其他好文 > 详细

PropertiesUtil 读取properties

时间:2017-06-21 22:04:56      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:main   ror   ted   编码格式   tac   more   cat   .property   support   

package com.yun.util;

import java.io.InputStream;
import java.io.UnsupportedEncodingException;
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 = "/errorCode.properties";
    
    private static final Logger LOGGER = LoggerFactory.getLogger(PropertiesUtil.class); 

    private PropertiesUtil() {
        
    }
    
    {
        try {
            props = new Properties();
            InputStream fis = getClass().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) {
        String tmp = "";
        if (props == null) {
            readProperties(propertieFile);
        }
        try {
            
            if (props.getProperty(key) != null) {
                LOGGER.info("获取属性 {}",key);
                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("E0001"));
    }
}

 

PropertiesUtil 读取properties

标签:main   ror   ted   编码格式   tac   more   cat   .property   support   

原文地址:http://www.cnblogs.com/yun965861480/p/7061744.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!