模板导出的文件名想要根据一个配置规则能动态的修改生成的文件名
public static void main(String[] args) {
String originName = "This is a {orderNo} string {datetime} with {multiple} {values}.";
Map<String, Object> map = new HashMap<>();
map.put("orderNo", "O001");
map.put("multiple", "XXXX");
//map.put("values", "ABCD");
fileNameHandler(originName, map);
}
/**
* 替换文件名的变量
*/
public static String fileNameHandler(String originName, Map<String, Object> map) {
map.put("date", LocalDate.now());
map.put("datetime", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
Pattern pattern = Pattern.compile("\\{([^}]+)}");
Matcher matcher = pattern.matcher(originName);
while (matcher.find()) {
String key = matcher.group(1);
//获取对象值
String value = MapUtil.getString(map, key);
if (value != null) {
originName = originName.replace("{" + key + "}", value);
}
//System.out.println(originName);
}
return originName;
}