配置文件的路径:项目名/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