属性文件工具类

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;
    }
}























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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值