java代码中读取properties文件
发布日期:2022-02-10 11:36:52 浏览次数:36 分类:技术文章

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

一般情况下,我们都会采用spring xml + propeties文件的形式对java代码中的某些属性进行配置。但在一些比较小的程序中,其实根本用不到

Spring框架,不需要依赖注入。此时,我们可以直接应用properties文件,具体配置方法如下:

注意:下面的pro.properties文件只需要被放在BuildPath下面即可。

public class ProConfig {

    private static Logger logger = Logger.getLogger(ProConfig.class);
    private Properties properties = new Properties();
    public static final ProConfig Default = new ProConfig("/pro.properties");
    public ProConfig(String configPath) {
        InputStream is = null;
        try {
            is = ProConfig.class.getResourceAsStream(configPath);
            properties.load(is);
        } catch (IOException e) {
            logger.error("Failed to load config file at: " + configPath, e);
        } finally {
            if (is == null) {
                return;
            }
            try {
                is.close();
            } catch (IOException e) {
                logger.error(
                        "Failed to close input stream when loading config file at: "
                                + configPath, e);
            }
        }
    }
    public Properties getProperties() {
        return properties;
    }
    public String getProperty(String name) {
        return properties.getProperty(name);
    }
    public int getInt(String name) {
        return getInt(name, 0);
    }
    public int getInt(String name, int defVal) {
        int ret = defVal;
        try {
            ret = Integer.parseInt(properties.getProperty(name));
        } catch (Exception e) {
        }
        return ret;
    }
    public long getLong(String name) {
        return getLong(name, 0L);
    }
    public long getLong(String name, long defVal) {
        long ret = defVal;
        try {
            ret = Long.parseLong(properties.getProperty(name));
        } catch (Exception e) {
        }
        return ret;
    }
    public boolean getBoolean(String name) {
        return getBoolean(name, false);
    }
    public boolean getBoolean(String name, boolean defVal) {
        boolean ret = defVal;
        try {
            ret = Boolean.parseBoolean(properties.getProperty(name));
        } catch (Exception e) {
        }
        return ret;
    }

转载地址:https://blog.csdn.net/courage89/article/details/8969085 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:InputStream 转 String
下一篇:xml配置

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月18日 11时23分11秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

大疆机甲大师Python开发: 两只老虎 2019-04-26
大疆机甲大师教育机器人Python API中文化之一:枪亮枪暗 2019-04-26
大疆机甲大师教育机器人Python API中文化之二:LED闪烁 2019-04-26
大疆 RoboMaster 机甲大师官方刚刚开通”机甲小 S 实验室”知乎专栏 2019-04-26
大疆机甲大师教育机器人Python API中文化之三:底盘灯效 2019-04-26
大疆机甲大师教育机器人Python API中文化之四五:云台灯效,指定序号 2019-04-26
大疆机甲大师教育机器人Python API中文化之六:关灯 2019-04-26
“中文编程”知乎专栏两岁了——山雨欲来风满楼 2019-04-26
大疆机甲大师Python API之七:做个闹钟 2019-04-26
【意外走向】大疆机甲大师Python API之八:计时——为性能测试展开1000次循环 2019-04-26
RFC#2457——Rust 语言支持非 ASCII 码标识符在 GitHub 引发的激辩(一) 2019-04-26
RFC#2457——Rust 语言选择支持非 ASCII 码标识符在 GitHub 引发的激辩(二) 2019-04-26
”为什么有这么多人执着于中文编程?”回答两千赞留念及回应 2019-04-26
【家务】盘点小孩玩具零件缺失情况 2019-04-26
开发中文 API 的一些策略 2019-04-26
从日本编程书籍《我的第一本编程书》中译版看中文例程如何扬长避短——标识符(一) 2019-04-26
中文命名标识符如何区分类型和变量 2019-04-26
编程术语成系统中文化的意义 2019-04-26
草蟒 Python 中文 API 与 IDE 支持尝鲜 2019-04-26
一种改进中文 API 可读性的方法:参数不限于在末尾 2019-04-26