项目开发中,我们一般来向 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年