基本介绍
Hutool是一个Java工具包类库,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类。
常用功能
- 字符串工具
- 时间操作、转化、对比工具
- 文件读取、写入、下载等
- 数据库链接、增删改查
- HTTP客户端、网络请求、响应
- JSON解析、格式化、调用
- 图片操作、缩放、裁剪
- 加密、解密、MD5、RSA、AES、DES
- 邮件工具
- 二维码工具
- Excel工具
- 图形验证码
高级功能
- JDK动态代理封装,提供非IOC下的切面支持
- 简单缓存实现
- Bean操作
- 定时任务
- 模板引擎、Emoji、FTP、分词
- 脚本执行封装
- 系统参数调用封装(JVM信息等)
- 基于Java的NIO和AIO的Socket封装
项目集成使用
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
}