加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

配置文件读取

发布时间:2020-12-16 08:43:48 所属栏目:百科 来源:网络整理
导读:import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.Properties; import org.apache.commons.io.IOUtils; import org.apache.log4j.Logger; /** * 用于加载、读取propertie配置
import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.Properties; import org.apache.commons.io.IOUtils; import org.apache.log4j.Logger; /** * 用于加载、读取propertie配置文件的工具类 */ public class PropertyUtil { static Logger logger = Logger.getLogger(PropertyUtil.class); private static List<String> propertyList = new ArrayList<String>(); private static Properties properties = new Properties(); /** * 加载配置文件 * @param propertyFileName */ private static void loadProperties(String propertyFileName){ if(!alreadyLoaded(propertyFileName)){ InputStream in = null; try { in = PropertyUtil.class.getClassLoader().getResourceAsStream(propertyFileName); if(in != null){ properties.load(in); propertyList.add(propertyFileName); } } catch (IOException e) { logger.error("error:"+e.getMessage(),e); } finally { IOUtils.closeQuietly(in); } } } /** * 是否加载过此配置文件 * @return */ private static boolean alreadyLoaded(String propertyFileName){ return propertyList.contains(propertyFileName); } /** * 根据配置文件名称和健名获取值 * @param propertyFileName 配置文件名称 * @param key 健名 * @param default_value 默认值,当根据key取到的value为空时返回default_value * @param <T> * @return */ public static int getIntValue(String propertyFileName,String key,int default_value){ loadProperties(propertyFileName); return properties.get(key)==null?default_value:new Integer(properties.get(key)+""); } public static int getIntValue(String propertyFileName,String key){ loadProperties(propertyFileName); if(properties.get(key)==null){ throw new IllegalArgumentException("Property:"+propertyFileName+" was not found!"); } return new Integer(properties.get(key)+""); } public static String getValue(String propertyFileName,String default_value){ loadProperties(propertyFileName); return properties.get(key)==null?default_value:(String)properties.get(key); } public static String getValue(String propertyFileName,String key){ loadProperties(propertyFileName); if(properties.get(key)==null){ throw new IllegalArgumentException("Property:"+propertyFileName+" was not found!"); } return (String)properties.get(key); } public static boolean 个体tBooleanValue(String propertyFileName,boolean default_value){ loadProperties(propertyFileName); return properties.get(key)==null?default_value:new Boolean(properties.get(key)+""); } public static boolean getBooleanValue(String propertyFileName,String key){ loadProperties(propertyFileName); if(properties.get(key)==null){ throw new IllegalArgumentException("Property:"+propertyFileName+" was not found!"); } return new Boolean(properties.get(key)+""); } public static void main(String[] args) { System.out.println(getValue("props/common.properties","saf.registry.address")); } }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读