From 396e50693674a6cb2cfa8c8f1e064a449b0c9faf Mon Sep 17 00:00:00 2001 From: thinkgem Date: Thu, 18 Apr 2024 21:56:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=80=E4=BA=9B=E4=BE=BF?= =?UTF-8?q?=E6=8D=B7=E6=96=B9=E6=B3=95=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=9C=89?= =?UTF-8?q?=E8=AE=BE=E5=AE=9A=E5=B1=9E=E6=80=A7=E5=80=BC=E5=86=8D=E4=BD=BF?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeesite/common/io/PropertiesUtils.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/common/src/main/java/com/jeesite/common/io/PropertiesUtils.java b/common/src/main/java/com/jeesite/common/io/PropertiesUtils.java index a32ce19d..dcc41ac0 100644 --- a/common/src/main/java/com/jeesite/common/io/PropertiesUtils.java +++ b/common/src/main/java/com/jeesite/common/io/PropertiesUtils.java @@ -20,6 +20,7 @@ import java.io.InputStreamReader; import java.util.Map; import java.util.Properties; import java.util.Set; +import java.util.function.Consumer; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -240,6 +241,53 @@ public class PropertiesUtils { public Long getPropertyToLong(String key, String defValue) { return ObjectUtils.toLong(getProperty(key, defValue)); } + + /** + * 获取配置文件中的值,如果存在则 Consumer + * @author ThinkGem + */ + public void getPropertyIfNotBlank(String key, Consumer consumer) { + String value = getProperty(key, StringUtils.EMPTY); + if (StringUtils.isNotBlank(value)) { + consumer.accept(value); + } + } + + /** + * 获取配置文件中的值,如果存在则转换为 String[] 并 Consumer + */ + public void getPropertyToArrayIfNotBlank(String key, Consumer consumer) { + getPropertyIfNotBlank(key, value -> { + consumer.accept(StringUtils.splitComma(value)); + }); + } + + /** + * 获取配置文件中的值,如果存在则转换为 Boolean 并 Consumer + */ + public void getPropertyToBooleanIfNotBlank(String key, Consumer consumer) { + getPropertyIfNotBlank(key, value -> { + consumer.accept(ObjectUtils.toBoolean(value)); + }); + } + + /** + * 获取配置文件中的值,如果存在则转换为 Integer 并 Consumer + */ + public void getPropertyToIntegerIfNotBlank(String key, Consumer consumer) { + getPropertyIfNotBlank(key, value -> { + consumer.accept(ObjectUtils.toInteger(value)); + }); + } + + /** + * 获取配置文件中的值,如果存在则转换为 Long 并 Consumer + */ + public void getPropertyToLongIfNotBlank(String key, Consumer consumer) { + getPropertyIfNotBlank(key, value -> { + consumer.accept(ObjectUtils.toLong(value)); + }); + } /** * 获取标准key,去减号并将后一个字母转换为大写