配置文件的路径:项目名/src/main/resources/mmall.properties
mmall.properties的内容是键值对。例如假设写了ftp服务器的一些信息。
ftp.server.ip=ftp://localhost:21ftp.user=rootftp.pass=rootftp.server.http.prefix=localhost:21/
新建一个工具类PropertiesUtil.java
package com.mmall.util;import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.IOException;import java.io.InputStreamReader;import java.util.Properties;/** * Created by Gu on 2018/1/10 0010. * 配置文件 */public class PropertiesUtil { // slf4j日志 private static Logger logger = LoggerFactory.getLogger(PropertiesUtil.class); private static Properties props; /** * 读取配置文件 * 本类被加载时就执行静态代码块 */ static { String fileName = "mmall.properties"; // 配置文件的文件名 props = new Properties(); try { // 加载配置文件 props.load(new InputStreamReader(PropertiesUtil.class.getClassLoader().getResourceAsStream(fileName), "UTF-8")); } catch (IOException e) { logger.error("配置文件读取异常", e); } } /** * 根据key获取配置文件中的value * @param key * @return */ public static String getProperty(String key){ String value = props.getProperty(key.trim()); if (StringUtils.isBlank(value)){ return null; } return value.trim(); } public static String getProperty(String key, String defaultValue){ String value = props.getProperty(key.trim()); if (StringUtils.isBlank(value)){ value = defaultValue; } return value.trim(); }}
调用工具类方法,根据key获取配置文件中相应的value。
String str = PropertiesUtil.getProperty("ftp.user", "root");
小结:
- 获取配置文件中的值时,key和value都要trim()去掉两端的空格,防止配置文件中的空格影响结果。
- 关于slf4j日志框架的使用,参考
2018.02.23补充:
读写配置文件还可以用Java的ResourceBundle类,参考