博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Properties属性文件操作工具类PropsUtil
阅读量:6888 次
发布时间:2019-06-27

本文共 3397 字,大约阅读时间需要 11 分钟。

hot3.png

public class PropsUtil {    private static final Logger logger = LoggerFactory.getLogger(PropsUtil.class);    private Properties props = null;    public PropsUtil(String propsPath) {        this(propsPath, "UTF-8");    }    public PropsUtil(String propsPath, String encoding) {        InputStream is = null;        try {            if (StrUtil.isBlank(propsPath)) {                throw new IllegalArgumentException();            }            String suffix = ".properties";            if (propsPath.lastIndexOf(suffix) == -1) {                propsPath += suffix;            }            is = Thread.currentThread().getContextClassLoader().getResourceAsStream(propsPath);            if (is != null) {                props = new Properties();                props.load(new InputStreamReader(is, encoding));            }        } catch (Exception e) {            logger.error("加载属性文件出错!", e);            throw new RuntimeException(e);        } finally {            try {                if (is != null) {                    is.close();                }            } catch (IOException e) {                logger.error("释放资源出错!", e);            }        }    }    /**     * 加载属性文件,并转为 Map     */    public Map
loadPropsToMap(String propsPath) { Map
map = new HashMap
(); for (String key : props.stringPropertyNames()) { map.put(key, props.getProperty(key)); } return map; } /** * 获取字符型属性 */ public String getString(String key) { return props.getProperty(key); } /** * 获取字符型属性,有默认值 */ public String getString(String key, String defaultValue) { return props.getProperty(key, defaultValue); } /** * 获取字符型属性(有默认值) */ public static String getString(Properties props, String key, String defalutValue) { String value = defalutValue; if (props.containsKey(key)) { value = props.getProperty(key); } return value; } /** * 获取数值型属性 */ public Integer getInt(String key) { return getInt(key, null); } public Integer getInt(String key, Integer defaultValue) { String value = props.getProperty(key); if (value != null) return Integer.parseInt(value.trim()); return defaultValue; } /** * 获取Long型 */ public Long getLong(String key) { return getLong(key, null); } public Long getLong(String key, Long defaultValue) { String value = props.getProperty(key); if (value != null) return Long.parseLong(value.trim()); return defaultValue; } /** * 获取布尔型属性 */ public Boolean getBoolean(String key) { return getBoolean(key, null); } public Boolean getBoolean(String key, Boolean defaultValue) { String value = props.getProperty(key); if (value != null) { value = value.toLowerCase().trim(); if ("true".equals(value)) return true; else if ("false".equals(value)) return false; throw new RuntimeException("The value can not parse to Boolean : " + value); } return defaultValue; } public boolean containsKey(String key) { return props.containsKey(key); } public Properties getProperties() { return props; }}

转载于:https://my.oschina.net/liangbo/blog/598630

你可能感兴趣的文章
图解Oracle RAC全局缓存等待事件Global Cache Wait Events
查看>>
Windows Server CA证书颁发机构续订
查看>>
jquery next()方法
查看>>
取IP地址
查看>>
Git详解之Git分支
查看>>
SaltStack部署Redis主从实现
查看>>
利用冗余实现企业局域网的高可用性
查看>>
nginx 配置页面压缩
查看>>
磁盘和文件系统管理(二)
查看>>
WCF中有关Session的小实验
查看>>
C#设计模式(13)——代理模式(Proxy Pattern)
查看>>
如何在VIEW 5中配置日志数据库
查看>>
android的互联网开发 下
查看>>
JDBC连接属性
查看>>
百度地图 demo 在html中显示 在jsp中不显示
查看>>
Mac下安装Caffe
查看>>
RDS-MSSQL问题排查方法
查看>>
实现u-boot对yaffs/yaffs2文件系统下载的支持
查看>>
Android Service与Activity之间通信的几种方式
查看>>
表格模板
查看>>