以下两个方法为糊涂字符串工具类
/**
* 如果给定字符串不是以suffix结尾的,在尾部补充 suffix
*
* @param str 字符串
* @param suffix 后缀
* @return 补充后的字符串
*/
public static String addSuffixIfNot(CharSequence str, CharSequence suffix) {
if (isEmpty(str) || isEmpty(suffix)) {
return str(str);
}
final String str2 = str.toString();
final String suffix2 = suffix.toString();
if (false == str2.endsWith(suffix2)) {
return str2.concat(suffix2);
}
return str2;
}
/**
* 如果给定字符串不是以prefix开头的,在开头补充 prefix
*
* @param str 字符串
* @param prefix 前缀
* @return 补充后的字符串
*/
public static String addPrefixIfNot(CharSequence str, CharSequence prefix) {
if (isEmpty(str) || isEmpty(prefix)) {
return str(str);
}
final String str2 = str.toString();
final String prefix2 = prefix.toString();
if (false == str2.startsWith(prefix2)) {
return prefix2.concat(str2);
}
return str2;
}
方法使用:生成文件路径,首尾加“/”,并拼接日期
public static void main(String[] args) {
String path = "sysUser"; // 需要结果:/sysUser/20220926/
// 使用糊涂的字符串工具类,addPrefixIfNot方法,如果path不是已"/"开头,则开头加"/"。
path = StrUtil.addPrefixIfNot(path, "/");
// 使用糊涂的字符串工具类,addSuffixIfNot方法,如果path结尾如果不含"/",则在结尾加"/"。
path = StrUtil.addSuffixIfNot(path, "/");
// 使用糊涂的时间工具类,取今天日期,转为标准日期格式:yyyyMMdd
String today = LocalDateTimeUtil.format(LocalDateTimeUtil.now(), DatePattern.PURE_DATE_PATTERN);
// 再拼接今天日期
path = path + today + "/";
System.out.println(path); // 输出结果:/sysUser/20220926/
}