* 戳上方蓝字“开源先锋”关注我
大家好,我是开源君,一个热爱开源的程序员!
今天推荐一款一个小而全的 Java 工具类库-Hutool
通过静态方法封装,降低相关 API 的学习成本,提高工作效率。
其中的工具方法涵盖了 Java 开发底层代码中的方方面面。
使用方法
Maven
pom.xml文件的dependencies中加入:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.16</version>
</dependency>
Gradle
implementation 'cn.hutool:hutool-all:5.7.16'
直接下载jar包
直接去Maven中央仓库下载即可
常用的轮子
字符串工具 StrUtil
// 判断是否为空字符串
StrUtil.isEmpty(str);
StrUtil.isNotEmpty(str);
// 去除字符串的前后缀
StrUtil.removeSuffix("a.jpg", ".jpg");
StrUtil.removePrefix("a.jpg", "a.");
日期时间工具 DateUtil
主要提供日期和字符串之间的转换
// 当前时间
Date date = DateUtil.date();
// Calendar 转 Date
Date date = DateUtil.date(Calendar.getInstance());
// 时间戳转Date
Date date = DateUtil.date(System.currentTimeMillis());
// 自动识别格式转换
String dateStr = "2016-01-01";
Date date = DateUtil.parse(dateStr);
// 自定义格式化转换
Date date = DateUtil.parse(dateStr, "yyyy-MM-dd");
// 格式化输出日期
String format = DateUtil.format(date, "yyyy-MM-dd");
// 获取某天的开始、结束时间
Date beginOfDay = DateUtil.beginOfDay(date);
Date endOfDay = DateUtil.endOfDay(date);
// 计算偏移后的日期时间
Date newDate = DateUtil.offset(date, DateField.DAY_OF_MONTH, 1);
信息脱敏工具 DesensitizedUtil
脱敏数据类型包括:用户 id、中文姓名、身份证号、座机号、手机号、地址、电子邮件等。
// 身份证脱敏 4***************1X
DesensitizedUtil.idCardNum("41353620000320711X", 1, 2);
// 手机号脱敏 191****1999
DesensitizedUtil.mobilePhone("19149531999");
// 密码脱敏 **********
DesensitizedUtil.password("1234567890");
// 邮箱脱敏 7********@qq.com
DesensitizedUtil.email("788888888@qq.com");
图片工具 ImgUtil
针对 awt 中图片处理进行封装,这些封装包括:缩放、裁剪、转为黑白、加水印等操作。
// 缩放图片
ImgUtil.scale(
FileUtil.file("e:/test.jpg"),
FileUtil.file("e:/test_result.jpg"),
// 缩放比例
0.5f
);
// 裁剪图片
ImgUtil.cut(
FileUtil.file("e:/test.jpg"),
FileUtil.file("e:/test_result.jpg"),
// 裁剪的矩形区域
newRectangle(200, 200, 100, 100)
);
// `slice` 按照行列剪裁切片(将图片分为20行和20列)
ImgUtil.slice(FileUtil.file("e:/test2.png"), FileUtil.file("e:/dest/"), 10, 10);
// 转换图片格式
ImgUtil.convert(FileUtil.file("e:/test.png"), FileUtil.file("e:/testConvert.jpg"));
// 转黑白
ImgUtil.gray(FileUtil.file("e:/test.png"), FileUtil.file("e:/result.png"));
图形验证码 CaptchaUtil
// 定义图形验证码的长和宽
LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(300, 150);
// 图形验证码写出,可以写出到文件,也可以写出到流
lineCaptcha.write("e:/line.png");
// 输出code
Console.log(lineCaptcha.getCode());
// 验证图形验证码的有效性,返回boolean值
lineCaptcha.verify("1234");
// 重新生成验证码
lineCaptcha.createCode();
lineCaptcha.write("e:/line.png");
// 新的验证码
Console.log(lineCaptcha.getCode());
// 验证图形验证码的有效性,返回boolean值
lineCaptcha.verify("1234");
项目地址:
https://github.com/dromara/hutool/
原文始发于微信公众号(开源先锋):还在重复造轮子?试试这个java工具类
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/178336.html