还在重复造轮子?试试这个java工具类

* 戳上方蓝字“开源先锋”关注我


大家好,我是开源君,一个热爱开源的程序员

今天推荐一款一个小而全的 Java 工具类库-Hutool

通过静态方法封装,降低相关 API 的学习成本,提高工作效率。

其中的工具方法涵盖了 Java 开发底层代码中的方方面面。

还在重复造轮子?试试这个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

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!