前言
Hutool是一个小而全的Java工具类库
它可以帮助我们操作excel,生成随机数,二维码,验证码,发送电子邮件,转化bean和json等操作
我个人也是非常喜欢这个工具包
当然它的功能远不止这些,下面就简单分享下一些简单实用的操作
前提准备,需要准备一个项目和本地路径
项目是为了方便进行测试
本地路径是为了存放生成的验证码和图片
效果展示
以下为一些效果截图
引入Hutool工具包
首先需要引入hutool依赖,以及使用比较广泛的二维码工具类zxing
<!--hutool万能工具包--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.21</version> </dependency> <!--二维码工具包--> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.4.1</version> </dependency>
然后创建一个类,就开始编写代码测试啦
生成二维码
package com.example.demo; import cn.hutool.core.io.FileUtil; import cn.hutool.extra.qrcode.QrCodeUtil; public class QrCodeUtils { /** * 生成普通类型的二维码 */ public static void generateGeneralQrCode() { // 三个参数分别是 扫码内容 宽高 QrCodeUtil.generate("http://www.baidu.com/", 500, 500, // 生成路径 切记换成自己的 FileUtil.file("D:\\Tools\\Java\\HutoolTest\\QRCODE1.jpg")); } public static void main(String[] args) { generateGeneralQrCode(); } }
自定义背景图片二维码
上面的二维码有点单调是吗,没关系,我们可以自定义加入背景图片
比如我现在有这么一直图,那么我就想把它作为背景图生成二维码
package com.example.demo; import cn.hutool.core.io.FileUtil; import cn.hutool.extra.qrcode.QrCodeUtil; import cn.hutool.extra.qrcode.QrConfig; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; public class QrCodeUtils { /** * 生成自定义图片的二维码 */ public static void generateGeneralQrCodeWithBgImg() { QrConfig config = new QrConfig(500, 500); config.setImg("D:\\Tools\\Images\\image\\大海4.jpg"); config.setErrorCorrection(ErrorCorrectionLevel.Q); QrCodeUtil.generate("https://www.baidu.com/", config, FileUtil.file("D:\\Tools\\Java\\HutoolTest\\QRCODE2.jpg")); } public static void main(String[] args) { generateGeneralQrCodeWithBgImg(); } }
验证码
使用hutool生成验证码十分简单,我们可以生成各种各样的验证码图片
自定义验证码生成规则
个人觉得这种最实用,可以自定义生成的内容区间,个数,字体样式,背景颜色等等
建议大家多去试试玩玩 挺有意思的
编辑
package com.example; import cn.hutool.captcha.CaptchaUtil; import cn.hutool.captcha.LineCaptcha; import cn.hutool.captcha.generator.RandomGenerator; /** * @description: 测试生成验证码工具类 * @author: 魏一鹤 * @createDate: 2022-08-17 22:56 **/ public class VerificationCodeUtils { /** * 生成自定义规则的验证码 */ public static void generateCustomVerificationCode() { /**参数分别是宽、高、验证码个数,横线干扰个数**/ LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(300, 100, 6, 10); /**只会在0-9中产生验证码的内容,内容个数为6**/ RandomGenerator randomGenerator = new RandomGenerator("0123456789", 6); lineCaptcha.setGenerator(randomGenerator); String lineCaptchaCode = lineCaptcha.getCode(); System.out.println(lineCaptchaCode); lineCaptcha.write("D:\\Tools\\Java\\HutoolTest\\lineCaptcha2.png"); } public static void main(String[] args) { generateCustomVerificationCode(); } }
随机数
一般随机数每个公司都会自己的生成规则,包括个数,生成方式
大家只需要知道使用hutool也可以简单快速生成随机数即可
部分生成方式如下
import cn.hutool.core.util.RandomUtil; RandomUtil.randomString(10) //小写字母+数字 RandomUtil.randomStringUpper(10) //大写字母+数字 RandomUtil.randomNumbers(10) //数字 RandomUtil.randomStringWithoutStr(10,"0123456789") //不含有0123456789 RandomUtil.randomString("abc",10) //只含有abc RandomUtil.randomChar() // 生成小写字母+数字中一个字符 RandomUtil.randomNumber() // 生成0123456789中一个字符 RandomUtil.randomChar("-!?") // 生成-!?中一个字符
总结
Hutool里面的小工具还是挺多的,而且好玩实用,大家可以多试试,当然它的作用和功能远不如此
后续会接着更新一些其他功能