【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
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个字符串替换引发的性能血案:正则回溯与救赎之路
· 为什么说方法的参数最好不要超过4个?
· C#.Net 筑基-优雅 LINQ 的查询艺术
· 一个自认为理想主义者的程序员,写了5年公众号、博客的初衷
· 大数据高并发核心场景实战,数据持久化之冷热分离
· 发布一个小功能,通过 markdown 图片语法嵌入B站视频
· 《HelloGitHub》第 111 期
· 使用GcExcel .NET将Excel导出为PDF
· MySQL 字符集、排序规则与查询关系详解
· 【设计模式】外观模式