Properties属性文件载入、读取工具类
来源:互联网 发布:淘宝商品编辑软件 编辑:程序博客网 时间:2024/05/22 08:11
<span style="font-size:14px;">/******************************************************************************* * Copyright (c) 2005, 2014 springside.github.io * * Licensed under the Apache License, Version 2.0 (the "License"); *******************************************************************************/package org.springside.modules.utils;import java.io.IOException;import java.io.InputStream;import java.util.NoSuchElementException;import java.util.Properties;import org.apache.commons.io.IOUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.core.io.DefaultResourceLoader;import org.springframework.core.io.Resource;import org.springframework.core.io.ResourceLoader;/** * Properties文件载入工具类. 可载入多个properties文件, 相同的属性在最后载入的文件中的值将会覆盖之前的值,但以System的Property优先. * * @author calvin */public class PropertiesLoader { private static Logger logger = LoggerFactory.getLogger(PropertiesLoader.class); private static ResourceLoader resourceLoader = new DefaultResourceLoader(); private final Properties properties; public PropertiesLoader(String... resourcesPaths) { properties = loadProperties(resourcesPaths); } public Properties getProperties() { return properties; } /** * 取出Property。 */ private String getValue(String key) { String systemProperty = System.getProperty(key); if (systemProperty != null) { return systemProperty; } return properties.getProperty(key); } /** * 取出String类型的Property,如果都為Null则抛出异常. */ public String getProperty(String key) { String value = getValue(key); if (value == null) { throw new NoSuchElementException(); } return value; } /** * 取出String类型的Property.如果都為Null則返回Default值. */ public String getProperty(String key, String defaultValue) { String value = getValue(key); return value != null ? value : defaultValue; } /** * 取出Integer类型的Property.如果都為Null或内容错误则抛出异常. */ public Integer getInteger(String key) { String value = getValue(key); if (value == null) { throw new NoSuchElementException(); } return Integer.valueOf(value); } /** * 取出Integer类型的Property.如果都為Null則返回Default值,如果内容错误则抛出异常 */ public Integer getInteger(String key, Integer defaultValue) { String value = getValue(key); return value != null ? Integer.valueOf(value) : defaultValue; } /** * 取出Double类型的Property.如果都為Null或内容错误则抛出异常. */ public Double getDouble(String key) { String value = getValue(key); if (value == null) { throw new NoSuchElementException(); } return Double.valueOf(value); } /** * 取出Double类型的Property.如果都為Null則返回Default值,如果内容错误则抛出异常 */ public Double getDouble(String key, Integer defaultValue) { String value = getValue(key); return value != null ? Double.valueOf(value) : defaultValue; } /** * 取出Boolean类型的Property.如果都為Null抛出异常,如果内容不是true/false则返回false. */ public Boolean getBoolean(String key) { String value = getValue(key); if (value == null) { throw new NoSuchElementException(); } return Boolean.valueOf(value); } /** * 取出Boolean类型的Propert.如果都為Null則返回Default值,如果内容不为true/false则返回false. */ public Boolean getBoolean(String key, boolean defaultValue) { String value = getValue(key); return value != null ? Boolean.valueOf(value) : defaultValue; } /** * 载入多个文件, 文件路径使用Spring Resource格式. */ private Properties loadProperties(String... resourcesPaths) { Properties props = new Properties(); for (String location : resourcesPaths) { logger.debug("Loading properties file from path:{}", location); InputStream is = null; try { Resource resource = resourceLoader.getResource(location); is = resource.getInputStream(); props.load(is); } catch (IOException ex) { logger.info("Could not load properties from path:{}, {} ", location, ex.getMessage()); } finally { IOUtils.closeQuietly(is); } } return props; }}</span>
0 0
- Properties属性文件载入、读取工具类
- 工具类: Properties文件载入
- Properties文件载入工具类
- Properties文件载入工具类
- Java属性Properties文件读取工具类
- JAVA工具类(9)--属性文件properties的读取
- Properties文件读取工具类
- 读取properties文件,工具类。
- Properties文件读取工具类
- Properties文件读取工具类
- 读取properties文件工具类
- properties文件读取工具类
- 读取属性文件*.properties
- JAVA Properties类解析读取属性文件
- java 读取属性文件类 properties
- 读取properties文件的工具类
- java读取Properties文件的工具类
- Java工具类--读取Properties文件
- 定义基类和派生类
- 你在用VB做计算器吗?错误怎么处理
- 掌握 Linux 调试技术
- sql层级数据查询
- -D_REENTRANT 宏作用
- Properties属性文件载入、读取工具类
- perl 基本语法介绍
- 85:Maximal Rectangle【数组】【哈希】【栈】【DP】
- AIX网卡聚合的三种模式
- 线程同步----信号量(Semaphore)
- 脏读,不可重复读,幻读
- 项目中使用的ConfigUtil 类的封装,支持多元
- FILE文件储存
- 字符串b在字符串a中出现的次数