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; } }
属性文件工具类
最新推荐文章于 2021-05-25 16:28:52 发布