【Java笔记】配置文件java.util.Properties类的使用
配置文件的路径:项目名/src/main/resources/mmall.properties
mmall.properties的内容是键值对。例如假设写了ftp服务器的一些信息。
ftp.server.ip=ftp://localhost:21 ftp.user=root ftp.pass=root ftp.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日志框架的使用,参考http://blog.csdn.net/foreverling/article/details/51385128
2018.02.23补充:
读写配置文件还可以用Java的ResourceBundle类,参考https://www.cnblogs.com/yuguangblog/p/6180498.html