博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java读取属性配置文件
阅读量:5988 次
发布时间:2019-06-20

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

hot3.png

在web开发中经常会遇到读取属性配置文件的情况, 下面简单介绍一下我对读取属性文件类的封装:

下面以读取jdbc.properties 为例 :

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/smartjdbc.username=rootjdbc.password=root

解析来需要读取jdbc.properties 文件, 封装了一个PropsUtil类:

public final class PropsUtil {    private static final Logger logger = LoggerFactory.getLogger(PropsUtil.class);    /**     * 加载属性文件     */    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.info("load properties file failure",e);        }finally {            if (is != null) {                try {                    is.close();                } catch (IOException e) {                    logger.info("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.contains(key)) {            value = props.getProperty(key);        }        return value;    }    /**     * 获取数值型属性     */    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.contains(key)) {            value = CastUtil.castInt(props.getProperty(key));        }        return value;    }    /**     * 获取布尔类型     */    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.contains(key)) {            value = CastUtil.castBoolean(props.get(key));        }        return value;    }}

   客户端测试调用只需要调用loadPropers() 就可以了:

/** * * 读取配置文件 */public class ReadProperties {    public static final Logger logger = LoggerFactory.getLogger(ReadProperties.class);    public static void main(String[] args) {        Properties props = PropsUtil.loadProps("jdbc.properties");        String driver =  props.getProperty("jdbc.driver");        String url = props.getProperty("jdbc.url");        String username = props.getProperty("jdbc.username");        String password = props.getProperty("jdbc.password");        logger.info(driver);        logger.info(url);        logger.info(username);        logger.info(password);    }}

转载于:https://my.oschina.net/chenxiaobian/blog/630932

你可能感兴趣的文章
我的友情链接
查看>>
URI和URL的区别——博客园_ I'M G.Shine
查看>>
cxf部署到weblogic上遇到的问题
查看>>
oracle 菜鸟学习之 decode中if-then-else逻辑
查看>>
ubuntu 12.10 Root filesystem check failed.
查看>>
thinkphp3.2插件
查看>>
openstack issue 2
查看>>
证书制作方法
查看>>
VMware VSAN 入门与配置(二)
查看>>
Wvtool学习(四):实现wvtool与IK_Analyzer的分词结合
查看>>
Nginx提升学习架构总结
查看>>
java 使用 ftp下载文件失败的问题
查看>>
分布式事务的解决方案
查看>>
Centos 默认的iptables
查看>>
PyQt4 精彩实例分析 实例9 利用Qt Designer设计一个对话框
查看>>
linux安装SVN服务端
查看>>
Windows AD证书服务系列---部署CA(1)
查看>>
我的友情链接
查看>>
ASSERT函数
查看>>
xml文档解析
查看>>