package cn.com.countrygarden.bi.main.util;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import org.hamcrest.beans.PropertyUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;



public class ReadPropertiesUtils {
	 private static final Logger logger = LoggerFactory.getLogger(ReadPropertiesUtils.class);
	    private static Properties props;
	    static{
	        loadProps();
	    }

	    synchronized static private void loadProps(){
	        logger.info("开始加载properties文件内容.......");
	        props = new Properties();
	        InputStream in = null;
	        try {
	        	 //!--第一种，通过类加载器进行获取properties文件流-->
	        	in = PropertyUtil.class.getClassLoader().getResourceAsStream("application2.properties");
//	　　　　　　  <!--第二种，通过类进行获取properties文件流-->
	            //in = PropertyUtil.class.getResourceAsStream("/jdbc.properties");
	            props.load(in);
	        } catch (FileNotFoundException e) {
	            logger.error("jdbc.properties文件未找到");
	        } catch (IOException e) {
	            logger.error("出现IOException");
	        } finally {
	            try {
	                if(null != in) {
	                    in.close();
	                }
	            } catch (IOException e) {
	                logger.error("jdbc.properties文件流关闭出现异常");
	            }
	        }
	        logger.info("加载properties文件内容完成...........");
	        logger.info("properties文件内容：" + props);
	    }

	    public static String getProperty(String key){
	        if(null == props) {
	            loadProps();
	        }
	        return props.getProperty(key);
	    }

	    public static String getProperty(String key, String defaultValue) {
	        if(null == props) {
	            loadProps();
	        }
	        return props.getProperty(key, defaultValue);
	    }
	    
	    
	    public static void main(String[] aay) {
	    	
	    System.out.println(ReadPropertiesUtils.getProperty("yuanbao.appkey"));	
	    	
	    }
	    
	  

}
