专业的JAVA编程教程与资源

网站首页 > java教程 正文

100个Java工具类之25:Java工具包Hutool(下)

temp10 2024-12-08 18:40:40 java教程 13 ℃ 0 评论

本文主要讲述:Java工具包Hutool(下)

前言:接着《强大的Java工具包Hutool(上)》来讲,由于有大佬说标题中“强大的”并非名副其实,而且Hutool有很多隐藏bug不能乱用,作者经过思考后,觉得确实布局严谨,因此本文标题去除掉“强大的”字样。

100个Java工具类之25:Java工具包Hutool(下)

一、ExcelReader和ExcelWriter,实现Excel的解析与生成

//1.解析Excel,获取到excel的所有数据
ExcelReader reader = ExcelUtil.getReader("F:/1.xlsx");
List<List<Object>> list = reader.read();
//2.生成Excel
ExcelWriter writer = ExcelUtil.getWriter("F:/1.xlsx");
writer.writeHeadRow(Arrays.asList("名称", "数量"));
writer.writeRow(Arrays.asList("苹果", 2));
writer.close();

excel生成效果是这样的:


二、BeanUtil实现Map和Bean的互转

//1.Map转Bean
Map<String, Object> map = new HashMap<>();
map.put("name", "张三");
map.put("age", 18);
Persion person = BeanUtil.fillBeanWithMap(map, new Persion(), true);
System.out.println(person.getName() + ":" + person.getAge());
输出结果:张三:18
//2.Bean转Map
Persion p = new Persion();
p.setName("张三");
p.setAge(18);
Map<String, Object> map = BeanUtil.beanToMap(p);
System.out.println(map.toString());
输出结果:{name=张三, age=18}

三、CronUtil创建全局定时任务

//生成定时任务,每2秒执行一次
CronUtil.schedule("*/2 * * * * *", new Task() {
     @Override
     public void execute() {
          System.out.println("现在时间:" + DateUtil.date());
     }
});
 CronUtil.setMatchSecond(true);
 CronUtil.start();
输出结果:
现在时间:2023-07-24 15:17:40
现在时间:2023-07-24 15:17:42
现在时间:2023-07-24 15:17:44

四、CircleCaptcha生成图形验证码

//生成图形验证码,circleCaptcha.getCode()是验证码的值
CircleCaptcha circleCaptcha = CaptchaUtil.createCircleCaptcha(300, 200, 6, 10);
circleCaptcha.write("F:/1.png");



为什么Hutool有很多bug,却仍然受到国内广大码友的欢迎呢,原因大致有三:

1、工具类种类多而全;2、全中文注释;3、源码简单易读

放张源码截图,一目了然

Hutool作为一款国产软件,尽管现阶段他还存在很多问题,但我们要相信它会越来越好。在其历次版本更新中,也证实了这一点。

但在中大型项目中,还是不建议使用Hutool。感谢你的阅读~

写在最后:看了条友的评论后,个人受益匪浅,希望大家能多多指出问题,我会继续努力,写有用的文章。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表