項目開發中,我們一般來向 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年