Java全能工具类之Hutool怎么使用

工具使用   发布日期:2024年10月30日   浏览次数:603

本篇内容主要讲解“Java全能工具类之Hutool怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java全能工具类之Hutool怎么使用”吧!

Hutool简介

Hutool是一个Java工具类库,由国内的程序员loolly开发,目的是提供一些方便、快捷、实用的工具类和工具方法,使Java开发者能够更加轻松地处理各种任务。Hutool的特点是简单易用、功能全面、代码清晰、文档完备,支持JDK 1.8及以上版本。目前,Hutool已经被广泛使用,并且已经发布了3.x版本。Hutool 3.x版本的特点是升级了依赖库、增加了一些新的功能和优化了性能。

Hutool特性

Hutool提供了许多常用的工具类和工具方法,涵盖了各种任务,例如:

  • 常用字符串工具类

  • 日期时间工具类

  • 集合工具类

  • 数字工具类

  • 加密解密工具类

  • 文件操作工具类

  • Excel数据处理工具类

  • Http请求工具类

下面,我们将对其中的一些特性进行介绍。

字符串工具类

Hutool提供了一些常用的字符串工具类,例如:

  • StrUtil:提供了常用的字符串操作,例如字符串判空、截取、替换、格式化等。

  • ReUtil:提供了正则表达式工具方法,例如匹配、提取、替换等。

  • EscapeUtil:提供了对HTML、XML、Java、JavaScript等字符串进行转义的工具方法。

  • EmojiUtil:提供了对emoji表情进行编码和解码的工具方法。

  1. // 判断字符串是否为空或者null
  2. boolean isEmpty = StrUtil.isEmpty(str);
  3. // 替换字符串
  4. String replace = StrUtil.replace(str, "old", "new");
  5. // 正则表达式匹配
  6. List<String> matches = ReUtil.findAll("[0-9]+", str, 0, new ArrayList<String>());
  7. // HTML转义
  8. String html = EscapeUtil.escapeHtml(str);
  9. // Emoji编码解码
  10. String encode = EmojiUtil.encode("????");
  11. String decode = EmojiUtil.decode(encode);

日期时间工具类

Hutool提供了一些常用的日期时间工具类,例如:

  • DateUtil:提供了日期时间的常用操作,例如日期时间格式化、日期时间计算、日期时间比较等。

  • CronUtil:提供了对Cron表达式的解析和计算。

  • ChineseDateUtil:提供了对农历日期的处理。

  1. // 日期时间格式化
  2. String format = DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss");
  3. // 日期时间计算
  4. Date newDate = DateUtil.offset(new Date(), DateField.DAY_OF_YEAR, 1);
  5. // 日期时间比较
  6. boolean isSameDay = DateUtil.isSameDay(new Date(), new Date());
  7. // Cron表达式解析
  8. CronPattern pattern = CronUtil.parse("0 0 12 * * ?");
  9. // 农历日期处理
  10. ChineseDate chineseDate = ChineseDateUtil.parse(new Date());

集合工具类

Hutool提供了一些常用的集合工具类,例如:

  • CollUtil:提供了集合的常用操作,例如集合的判空、集合的合并、集合的截取等。

  • ListUtil、SetUtil、MapUtil:提供了对List、Set、Map等集合的操作方法。

  • ArrayUtil:提供了对数组的常用操作,例如数组的判空、数组的合并、数组的截取等。

  1. // 集合判空
  2. boolean isEmpty = CollUtil.isEmpty(list);
  3. // 集合合并
  4. List<String> newList = CollUtil.addAllIfNotContains(list1, list2);
  5. // 集合截取
  6. List<String> subList = CollUtil.sub(list, 0, 5);
  7. // List转数组
  8. String[] array = ListUtil.toArray(list, String.class);
  9. // 数组判空
  10. boolean isEmpty = ArrayUtil.isEmpty(array);
  11. // 数组合并
  12. String[] newArray = ArrayUtil.addAll(array1, array2);
  13. // 数组截取
  14. String[] subArray = ArrayUtil.sub(array, 0, 5);

数字工具类

Hutool提供了一些常用的数字工具类,例如:

  • NumberUtil:提供了数字的常用操作,例如数字的格式化、数字的转换、数字的比较等。

  • RandomUtil:提供了生成随机数、随机Boolean值等的方法。

  1. // 数字格式化
  2. String format = NumberUtil.decimalFormat("123456.789", "#,##0.00");
  3. // 数字转换
  4. Integer intValue = NumberUtil.parseInt("123");
  5. // 数字比较
  6. int compare = NumberUtil.compare(1, 2);
  7. // 随机整数
  8. int randomInt = RandomUtil.randomInt(0, 100);
  9. // 随机Boolean值
  10. boolean randomBoolean = RandomUtil.randomBoolean();

加密解密工具类

Hutool提供了一些常用的加密解密工具类,例如:

  • DigestUtil:提供了常用的加密算法,例如MD5、SHA-1、SHA-256等。

  • SecureUtil:提供了常用的加密解密操作,例如AES加密、RSA加密、BASE64编码解码等。

  1. // MD5加密
  2. String md5 = DigestUtil.md5Hex("hello world");
  3. // SHA-256加密
  4. String sha256 = DigestUtil.sha256Hex("hello world");
  5. // AES加密解密
  6. String aesKey = "aeskey1234567890";
  7. String content = "hello world";
  8. String encrypt = SecureUtil.aes(aesKey.getBytes(), content.getBytes(), Cipher.ENCRYPT_MODE);
  9. String decrypt = SecureUtil.aes(aesKey.getBytes(), encrypt.getBytes(), Cipher.DECRYPT_MODE);
  10. // RSA加密解密
  11. KeyPair keyPair = SecureUtil.generateKeyPair("RSA");
  12. String publicKey = Base64.encode(keyPair.getPublic().getEncoded());
  13. String privateKey = Base64.encode(keyPair.getPrivate().getEncoded());
  14. String rsaEncrypt = SecureUtil.rsaEncrypt(content.getBytes(), publicKey);
  15. String rsaDecrypt = SecureUtil.rsaDecrypt(rsaEncrypt, privateKey);
  16. // BASE64编码解码
  17. String base64Encode = Base64.encode(content.getBytes());
  18. String base64Decode = StrUtil.str(Base64.decode(base64Encode), CharsetUtil.CHARSET_UTF_8);

文件操作工具类

Hutool提供了一些常用的文件操作工具类,例如:

  • FileUtil:提供了文件的常用操作,例如文件的创建、文件的复制、文件的删除等。

  • ZipUtil:提供了对压缩文件的操作,例如压缩文件的创建、压缩文件的解压等。

  1. // 文件创建
  2. File file = FileUtil.touch("D:/test.txt");
  3. // 文件复制
  4. FileUtil.copy("D:/test.txt", "D:/test_copy.txt", true);
  5. // 文件删除
  6. FileUtil.del("D:/test.txt");
  7. // 压缩文件创建
  8. ZipUtil.zip("D:/test.zip", "D:/test");
  9. // 压缩文件解压
  10. ZipUtil.unzip("D:/test.zip", "D:/unzip");

Excel数据处理工具类

Hutool提供了一些常用的Excel数据处理工具类,例如:

  • ExcelReader:提供了对Excel文件读取的操作,可以读取Excel中的数据、读取指定Sheet中的数据等。

  • ExcelWriter:提供了对Excel文件写入的操作,可以将数据写入到Excel中指定的Sheet中。

  1. // 读取Excel中的数据
  2. ExcelReader reader = ExcelUtil.getReader("D:/test.xlsx");
  3. List<List<Object>> readAll = reader.read();
  4. // 读取指定Sheet中的数据
  5. ExcelReader sheetReader = ExcelUtil.getReader("D:/test.xlsx", "Sheet1");
  6. List<List<Object>> readSheetAll = sheetReader.read();
  7. // 将数据写入Excel中指定的Sheet中
  8. ExcelWriter writer = ExcelUtil.getWriter("D:/test.xlsx", "Sheet1");
  9. writer.writeCellValue(0, 0, "hello");
  10. writer.flush();
  11. writer.close();

Http请求工具类

Hutool提供了一些常用的Http请求工具类,例如:

HttpUtil:提供了对Http请求的操作,例如发送GET请求、发送POST请求、下载文件等。

  1. // 发送GET请求
  2. String result = HttpUtil.get("https://www.baidu.com");
  3. // 发送POST请求
  4. Map<String, Object> paramMap = new HashMap<>();
  5. paramMap.put("username", "admin");
  6. paramMap.put("password", "123456");
  7. String postResult = HttpUtil.post("https://www.example.com/login", paramMap);
  8. // 下载文件
  9. FileUtil.writeBytes(HttpUtil.downloadBytes("https://www.example.com/file"), "D:/file.txt");

以上就是Java全能工具类之Hutool怎么使用的详细内容,更多关于Java全能工具类之Hutool怎么使用的资料请关注九品源码其它相关文章!