概述
- Hutool是一个Java工具包,提供了丰富的工具类和方法,目的是简化开发任务提高开发效率;适用于需要快速开发和实现多种功能的场景,适合项目需要处理字符串、日期、文件等常见任务时~
- toBeBetterJavaer/docs/common-tool/StringUtils.md at master · itwanger/toBeBetterJavaer · GitHub
- Guava是Google开发的Java工具库,提供了一系列核心库的扩展,包括集合、字符串、缓存、异常验证、I/O 流操作等;适用于需要高性能集合操作、复杂缓存策略、并发编程等场(实际项目开发中我们使用Guava作为本地缓存的实现)
- https://github.com/itwanger/toBeBetterJavaer/blob/master/docs/common-tool/guava.md
- Java 本地缓存之Guava Cache_本地缓存 guavacache-CSDN博客
- Apache Commons是Apache软件基金会提供的一组Java工具库, 由于其稳定性和广泛的应用经常被采用
- toBeBetterJavaer/docs/common-tool/StringUtils.md at master · itwanger/toBeBetterJavaer · GitHub
- 可根据项目的具体需求和团队的技术栈来选择使用 Hutool或Guava或其他。在某些情况下需要结合使用,以发挥各自的优势~
项目实践
package com.bierce;
import java.awt.Color;
import java.awt.Font;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.lang.reflect.Constructor;
import java.util.Date;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.BetweenFormater;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.Zodiac;
import cn.hutool.core.img.ImgUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.lang.Console;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.ZipUtil;
import cn.hutool.crypto.SecureUtil;
public class HutoolsTest {
public static void main(String[] args) {
String numStr = "22";
int num = Convert.toInt(numStr, 0);
String myPwd = "bishuai123";
String md5MyPwd = SecureUtil.md5().digestHex(myPwd);
String dateStr = "2020-09-29 22:33:23";
Date writeTextDate = DateUtil.parse(dateStr);
Date todayDate = DateUtil.date();
long betweenDay = DateUtil.between(writeTextDate, todayDate, DateUnit.MS);
String formatBetween = DateUtil.formatBetween(betweenDay, BetweenFormater.Level.SECOND);
System.out.println("formatBetween = " + formatBetween);
String zodiac = Zodiac.getZodiac(DateUtil.parse("1995-03-18"));
System.out.println("星座 = " + zodiac);
String chineseZodiac = Zodiac.getChineseZodiac(DateUtil.parse("1995-02-18"));
System.out.println("属相 = " + chineseZodiac);
BufferedInputStream in = FileUtil.getInputStream("hutool/origin.txt");
BufferedOutputStream out = FileUtil.getOutputStream("hutool/to.txt");
long copySize = IoUtil.copy(in, out, IoUtil.DEFAULT_BUFFER_SIZE);
System.out.println("copySize = " + copySize);
HutoolsTest hutoolsTest = ReflectUtil.newInstance(HutoolsTest.class);
System.out.println("hutoolTest = " + hutoolsTest);
Constructor<HutoolsTest>[] constructors = ReflectUtil.getConstructors(HutoolsTest.class);
for (Constructor constructor : constructors) {
System.out.println(constructor.getName());
}
ZipUtil.zip("hutool", "hutool.zip");
File unzip = ZipUtil.unzip("hutool.zip", "hutoolzip");
String ID_18 = "321083197812162119";
boolean valid = IdcardUtil.isValidCard(ID_18);
Console.log("墨行子,一枚有趣的程序员");
Console.log("西安是{}朝古都","13");
int [] ints = {1,2,3,4};
Console.log(ints);
boolean isEmail = Validator.isEmail("墨行子");
boolean isMobile = Validator.isMobile("itwanger.com");
boolean isIPV4 = Validator.isIpv4("192.168.56.1");
ImgUtil.pressText(
FileUtil.file("hutool/snow.jpg"),
FileUtil.file("hutool/snow2.jpg"),
"墨行子", Color.RED,
new Font("黑体", Font.BOLD, 50),
0,
0,
0.8f
);
String encry = SecureUtil.md5().digestHex("墨行子");
}
}