java读取properties文件的配置信息

项目开发中,我们一般来向 application.properties 文件中放一些全局配置变量,以便程序中读取使用,本篇内容来演示从properties配置文件中读取键值。

当然,我们不一定写入 application.properties 文件,也可以自定义,如:conn.properties

 application.properties 文件内容如下:

#application.properties文件中配置信息

siteName=博客园
siteUrl=https://www.cnblogs.com/
isShow=true
age=15

读取配置文件的工具类PropertiesUtil内容如下:

package util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;

/**
 * Author: username
 * Date: 2019-04-11 14:30
 * Describe: 属性文件工具类
 */
public class PropertiesUtil {

    private static final String DEFAULT_PROPERTIES="/application.properties";

    /**
     * 获取properties属性值
     * @param propKey
     * @return
     */
    public static String getPropValue(String propKey){
        try {
            Properties props = new Properties();
            InputStream inputStream = PropertiesUtil.class.getResourceAsStream(DEFAULT_PROPERTIES);
            //*.properties配置文件,要使用UTF-8编码,否则会现中文乱码问题
            BufferedReader bf = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));
            props.load(bf);
            return props.getProperty(propKey);
        }catch (IOException e){
            e.printStackTrace();
        }
        return null;
    }

}

使用如下:

String siteName = PropertiesUtil.getPropValue("siteName");
String siteUrl = PropertiesUtil.getPropValue("siteUrl");
String isShow = PropertiesUtil.getPropValue("isShow");
String age = PropertiesUtil.getPropValue("age");
//字符串转bool
Boolean bIsShow = Boolean.parseBoolean(isShow);
if (bIsShow)
    System.out.println(String.format("%s:%s,服务程序员%s年",siteName,siteUrl,age));

//输出
博客园:https://www.cnblogs.com/,服务程序员15年

 

posted @ 2019-04-12 09:38  代码猫  阅读(3357)  评论(0编辑  收藏  举报