一、数据脱敏工具--DesensitizedUtil
该工具类已经实现了对常见的数据类型的脱敏,如身份证号,手机号,邮箱等等。使用实例如下:
// 手机号脱敏
System.out.println(DesensitizedUtil.mobilePhone("15839010023")); //158****0023
// 邮箱脱敏
System.out.println(DesensitizedUtil.email("123@qq.com")); //1**@qq.com
//居住地址脱敏
System.out.println(DesensitizedUtil.address("中国北京",2)); //中国**
其他可查看官网API
二、生成唯一Id----IdUtil
其主要可用于生成各种样式的唯一Id,使用实例如下:
/* UUID的生成*/
//825c431bfbe34a80b615474f9cbe66fe
System.out.println(IdUtil.fastSimpleUUID());
//b2b112c6-647e-4b66-b09f-2fc0b9c7a697
System.out.println(IdUtil.fastUUID());
/*雪花ID的生成*/
//1712338083006967808 Long类型
System.out.println(IdUtil.getSnowflakeNextId());
//1712338083006967809 String类型
System.out.println(IdUtil.getSnowflakeNextIdStr());
/*nanoId的生成,其大小比UUID小*/
//drxJa5fAenbfHGTnm6aDd 字符串,也可指定生成多少位的字符串
System.out.println(IdUtil.nanoId());
三、日期工具类--DateUtil
// 将日期转成指定格式的字符串
System.out.println(DateUtil.format(new Date(),"yyyy-MM-dd"));
() // 将日期字符串转成日期,也可以指定日期字符串的格式
System.out.println(DateUtil.parse("2023-01-12"));
System.out.println(DateUtil.parse("2023-01-12 22:12:12","yyyy-MM-dd HH:mm:ss"));
// 获取当前日期的毫秒数
System.out.println(DateUtil.current());
// 获取当前年
System.out.println(DateUtil.thisYear());
,
// 获取当前月
System.out.println(DateUtil.thisMonth());
// 获取当月日期
System.out.println(DateUtil.thisDayOfMonth());
四、模板引擎工具类 TemplateUtil
目前其支持的模板有beetl、freemark、velocity、thymeleaf、enjoy、rythm
无论哪种方式,其使用的代码格式都是一致的,如下:
TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig(charset(编码),path(模板路径),TemplateConfig.RedsourceMode(加载方式)));
Template template = engine.getTemplate(templateName);
template.render(map);
五、获取客户端ip ServletUtil
ServletUtil.getClientIp(request,String...OtherHeaderNames);
此种方式适合没有使用代理的项目,如果做了代理,则需要将真实Ip保存下来,这样才可以获取到真实ip而不是代理的Ip;
获取服务端地址可以使用NetUtil
六、文件操作工具 FileUtil
1、获取文件名的前缀后后缀
eg: test/text.doc
//结果:text
获取前缀:FileUtil.getSuffix(文件名)
//结果:.doc
获取后缀:FileUtils.getPrefix(文件名)
2、获取文件mime类型
FileUtil.getMimeType(文件路径)
3、获取文件名
FileUti.getName(File/文件路径)
4、路径统一化(将\转成/)
FileUtil.normalize(路径)