Hutool简易使用
📚简介
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,
使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。
Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的 bug。
🍺Hutool如何改变我们的coding方式
Hutool的目标是使用一个工具方法代替一段复杂代码,从而最大限度的避免“复制粘贴”代码的问题,彻底改变我们写代码的方式。
以计算MD5为例:
- 👴【以前】打开搜索引擎 -> 搜“Java MD5加密” -> 打开某篇博客-> 复制粘贴 -> 改改好用
- 👦【现在】引入Hutool -> SecureUtil.md5()
Hutool的存在就是为了减少代码搜索成本,避免网络上参差不齐的代码出现导致的bug。
在项目的pom.xml的dependencies中加入以下内容:
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.5</version> </dependency>
/** * 当前时间 */ @Test void DateUtil() { Date data = new Date(); DateTime time = new DateTime(data); System.out.println(time); } /** * 农历 */ @Test void ChineseDate() { ChineseDate chineseDate = new ChineseDate(new Date()); System.out.println(chineseDate); } /** * 加密 */ @Test void md5() { System.out.println(DigestUtil.md5Hex("1233245")); } /** * 剪贴 */ @Test void ClipboardUtil(){ System.out.println(ClipboardUtil.getStr()); } /** * 拷贝 * 把1复制到2 */ @Test void IoUtil(){ BufferedInputStream in = FileUtil.getInputStream("E:/1.txt"); BufferedOutputStream out = FileUtil.getOutputStream("E:/2.txt"); long copySize = IoUtil.copy(in,out,IoUtil.DEFAULT_BUFFER_SIZE); } /** * 隐藏 */ @Test void DesensitizedUtil(){ String name = DesensitizedUtil.idCardNum("44092320010200000X",1,2); String Telephone = DesensitizedUtil.mobilePhone("1382860000"); String pwd = DesensitizedUtil.password("12341"); System.out.println("身份证:"+name+"手机号码:"+Telephone+"密码"+pwd); } /** * 分页 * 我还没弄好 */ @Test void PageUtil(){ int [] rainbow = PageUtil.rainbow(5,20,6); System.out.println(rainbow); } /** * 随机社会信用代码 */ @Test void CreditCodeUtil(){ String te = "124323459832593475983"; CreditCodeUtil.isCreditCode(te); final String s = CreditCodeUtil.randomCreditCode(); System.out.println(s); } /** * 验证码 */ @Test void LineCaptcha(){ //定义图型验证码的长和宽 LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200,100); //图形验证码写出,可以写出到文件,也可以写出到流 lineCaptcha.write("E:/line.png"); //输出code System.out.println(lineCaptcha.getCode()); //验证图形验证码的有效性,返回boolean值 lineCaptcha.verify("1234"); //重新生成验证码 lineCaptcha.createCode(); lineCaptcha.write("E:/line.png"); //新的验证码 System.out.println(lineCaptcha.getCode()); //验证图形验证码的有效性,返回boolean值 lineCaptcha.verify("1234"); } /** * 二维码 */ @Test void QrCodeUtil(){ QrConfig config = new QrConfig(); // 高纠错级别 config.setErrorCorrection(ErrorCorrectionLevel.H); QrCodeUtil.generate("https://hutool.cn/", config, FileUtil.file("e:/qrcodeCustom.jpg")); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix