基本介绍

Hutool是一个Java工具包类库,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类。

常用功能

  1. 字符串工具
  2. 时间操作、转化、对比工具
  3. 文件读取、写入、下载等
  4. 数据库链接、增删改查
  5. HTTP客户端、网络请求、响应
  6. JSON解析、格式化、调用
  7. 图片操作、缩放、裁剪
  8. 加密、解密、MD5、RSA、AES、DES
  9. 邮件工具
  10. 二维码工具
  11. Excel工具
  12. 图形验证码

高级功能

  1. JDK动态代理封装,提供非IOC下的切面支持
  2. 简单缓存实现
  3. Bean操作
  4. 定时任务
  5. 模板引擎、Emoji、FTP、分词
  6. 脚本执行封装
  7. 系统参数调用封装(JVM信息等)
  8. 基于Java的NIO和AIO的Socket封装

官方文档:https://www.hutool.cn/

项目集成使用

Maven:在项目的pom.xml的dependencies中加入以下内容:

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.5</version>
</dependency>

常用案列

字符串 (常见的isBlank等方法跟StringUtil类似)

1. 字符串打印变量替代,就是log4j里面的方法,好使。
    @Test	 
    public void strFormatTest () {
        String value = "我{}就是{}";
        Object [] obj = new Object[]{1,2};
        String str = StrUtil.format(value, obj);
        System.out.printf("str");
        //输出:我1就是2
    }

2. 字符填充
    @Test
    public void fillBeforeTest () {
        Console.log(StrUtil.fillBefore("121",'0',5));
        //输出:00121
    }

3. 去掉字符串前缀和后缀
    @Test
    public void stripTest () {
        Console.log(StrUtil.strip("你好王结胜哈哈","你好","哈哈"));
        //输出:王结胜
    }

4. 添加后缀
    @Test
    public void addSuffixIfNotTest () {
        Console.log(StrUtil.addSuffixIfNot("你好王结胜哈哈","拜拜"));
        //输出:你好王结胜哈哈拜拜
    }

数字类型

1. 生成指定范围的数字
    @Test
    public void numberRangeTest () {
        //生成指定范围的数字集合
        Console.log(NumberUtil.range(1,10));
        //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    }

2. 格式化数字
    @Test
    public void decimalFormatTest () {
        String str = NumberUtil.decimalFormat("#,###.00",1000.991);
        Console.log(str);
        //输出:1,000.99
    }