常用Hutool工具一

506 阅读2分钟

一、数据脱敏工具--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(路径)