属性文件工具类

来源:互联网 发布:vba与vb的区别 编辑:程序博客网 时间:2024/05/16 15:06
package org.smart4j.chapter2.util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.Properties;/** * Created by sunx on 2017/6/28. *//*属性文件工具类*/public final class PropsUtil {    private static final Logger LOGGER= LoggerFactory.getLogger(PropsUtil.class);    /*    * 最关键的是loadProps方法,我们只需要传递一个属性文件的名称,即可返回一个Properties对象,    * 然后再根据getString getInt getBoolran这些方法由key获取指定类型的value,同时也可指定defaultValue作为默认值    * */    /*加载属性文件*/    public static Properties loadProps(String fileName){        Properties props=null;        InputStream is=null;        try{            is=Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName);            if(is==null){                throw new FileNotFoundException(fileName+"file is not found");            }            props=new Properties();            props.load(is);        }catch (IOException e){            LOGGER.error("load properties file failure",e);        }finally {            if (is!=null){                try{                    is.close();                }catch (IOException e){                    LOGGER.error("close input stream failure",e);                }            }        }        return props;    }    /*获取字符型属性(默认值为空字符串)*/    public static  String getString(Properties props,String key){        return getString(props,key,"");    }    /*获取字符型属性(可指定默认值)*/    public static String getString(Properties props,String key,String defaultValue){        String value=defaultValue;        if (props.containsKey(key)){            value=props.getProperty(key);        }        return value;    }    /*获取数值型属性(默认值为0)*/    public static int getInt(Properties props,String key){        return getInt(props,key,0);    }    /*获取数值型属性(可指定默认值)*/    public static int getInt(Properties props,String key,int defaultValue){        int value=defaultValue;        if (props.containsKey(key)){            value=CastUtil.castInt(props.getProperty(key));        }        return value;    }    /*获取布尔型属性(默认值为false)*/    public static boolean getBoolean(Properties props,String key){        return getBoolean(props,key,false);    }    /*获取布尔型属性(可指定默认值)*/    public static boolean getBoolean(Properties props,String key,Boolean defaultValue){        boolean value=defaultValue;        if (props.containsKey(key)){            value=CastUtil.castBoolean(props.getProperty(key));        }        return value;    }}
原创粉丝点击