首頁 > Java > java教程 > Java全能工具類之Hutool怎麼使用

Java全能工具類之Hutool怎麼使用

PHPz
發布: 2023-04-30 13:31:06
轉載
2688 人瀏覽過

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表情編碼和解碼的工具方法。

// 判断字符串是否为空或者null
boolean isEmpty = StrUtil.isEmpty(str);

// 替换字符串
String replace = StrUtil.replace(str, "old", "new");

// 正则表达式匹配
List<String> matches = ReUtil.findAll("[0-9]+", str, 0, new ArrayList<String>());

// HTML转义
String html = EscapeUtil.escapeHtml(str);

// Emoji编码解码
String encode = EmojiUtil.encode("????");
String decode = EmojiUtil.decode(encode);
登入後複製

日期時間工具類

Hutool提供了一些常用的日期時間工具類,例如:

  • DateUtil:提供了日期時間的常用操作,例如日期時間格式化、日期時間計算、日期時間比較等。

  • CronUtil:提供了Cron表達式的解析與計算。

  • ChineseDateUtil:提供了農曆日期的處理。

// 日期时间格式化
String format = DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss");

// 日期时间计算
Date newDate = DateUtil.offset(new Date(), DateField.DAY_OF_YEAR, 1);

// 日期时间比较
boolean isSameDay = DateUtil.isSameDay(new Date(), new Date());

// Cron表达式解析
CronPattern pattern = CronUtil.parse("0 0 12 * * ?");

// 农历日期处理
ChineseDate chineseDate = ChineseDateUtil.parse(new Date());
登入後複製

集合工具類別

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

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

  • ListUtil、SetUtil、MapUtil:提供了對List、Set、Map等集合的運算方法。

  • ArrayUtil:提供了陣列的常用操作,例如陣列的判空、陣列的合併、陣列的截取等。

// 集合判空
boolean isEmpty = CollUtil.isEmpty(list);

// 集合合并
List<String> newList = CollUtil.addAllIfNotContains(list1, list2);

// 集合截取
List<String> subList = CollUtil.sub(list, 0, 5);

// List转数组
String[] array = ListUtil.toArray(list, String.class);

// 数组判空
boolean isEmpty = ArrayUtil.isEmpty(array);

// 数组合并
String[] newArray = ArrayUtil.addAll(array1, array2);

// 数组截取
String[] subArray = ArrayUtil.sub(array, 0, 5);
登入後複製

數字工具類

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

  • NumberUtil:提供了數字的常用操作,例如數字的格式化、數字的轉換、數字的比較等。

  • RandomUtil:提供了產生隨機數、隨機Boolean值等的方法。

// 数字格式化
String format = NumberUtil.decimalFormat("123456.789", "#,##0.00");

// 数字转换
Integer intValue = NumberUtil.parseInt("123");

// 数字比较
int compare = NumberUtil.compare(1, 2);

// 随机整数
int randomInt = RandomUtil.randomInt(0, 100);

// 随机Boolean值
boolean randomBoolean = RandomUtil.randomBoolean();
登入後複製

加密解密工具類

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

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

  • SecureUtil:提供了常用的加密解密作業,例如AES加密、RSA加密、BASE64編碼解碼等。

// MD5加密
String md5 = DigestUtil.md5Hex("hello world");

// SHA-256加密
String sha256 = DigestUtil.sha256Hex("hello world");

// AES加密解密
String aesKey = "aeskey1234567890";
String content = "hello world";
String encrypt = SecureUtil.aes(aesKey.getBytes(), content.getBytes(), Cipher.ENCRYPT_MODE);
String decrypt = SecureUtil.aes(aesKey.getBytes(), encrypt.getBytes(), Cipher.DECRYPT_MODE);

// RSA加密解密
KeyPair keyPair = SecureUtil.generateKeyPair("RSA");
String publicKey = Base64.encode(keyPair.getPublic().getEncoded());
String privateKey = Base64.encode(keyPair.getPrivate().getEncoded());
String rsaEncrypt = SecureUtil.rsaEncrypt(content.getBytes(), publicKey);
String rsaDecrypt = SecureUtil.rsaDecrypt(rsaEncrypt, privateKey);

// BASE64编码解码
String base64Encode = Base64.encode(content.getBytes());
String base64Decode = StrUtil.str(Base64.decode(base64Encode), CharsetUtil.CHARSET_UTF_8);
登入後複製

檔案操作工具類

Hutool提供了一些常用的檔案操作工具類,例如:

  • FileUtil:提供了文件的常用操作,例如文件的建立、文件的複製、文件的刪除等。

  • ZipUtil:提供了壓縮檔案的操作,例如壓縮檔案的建立、壓縮檔案的解壓縮等。

// 文件创建
File file = FileUtil.touch("D:/test.txt");

// 文件复制
FileUtil.copy("D:/test.txt", "D:/test_copy.txt", true);

// 文件删除
FileUtil.del("D:/test.txt");

// 压缩文件创建
ZipUtil.zip("D:/test.zip", "D:/test");

// 压缩文件解压
ZipUtil.unzip("D:/test.zip", "D:/unzip");
登入後複製

Excel資料處理工具類別

Hutool提供了一些常用的Excel資料處理工具類別,例如:

  • ExcelReader:提供了對Excel檔案讀取的操作,可以讀取Excel中的資料、讀取指定Sheet中的資料等。

  • ExcelWriter:提供了對Excel檔案寫入的操作,可以將資料寫入到Excel中指定的Sheet中。

// 读取Excel中的数据
ExcelReader reader = ExcelUtil.getReader("D:/test.xlsx");
List<List<Object>> readAll = reader.read();

// 读取指定Sheet中的数据
ExcelReader sheetReader = ExcelUtil.getReader("D:/test.xlsx", "Sheet1");
List<List<Object>> readSheetAll = sheetReader.read();

// 将数据写入Excel中指定的Sheet中
ExcelWriter writer = ExcelUtil.getWriter("D:/test.xlsx", "Sheet1");
writer.writeCellValue(0, 0, "hello");
writer.flush();
writer.close();
登入後複製

Http請求工具類

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

HttpUtil:提供了對Http請求的操作,例如傳送GET請求、傳送POST請求、下載檔案等。

// 发送GET请求
String result = HttpUtil.get("https://www.baidu.com");

// 发送POST请求
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("username", "admin");
paramMap.put("password", "123456");
String postResult = HttpUtil.post("https://www.example.com/login", paramMap);

// 下载文件
FileUtil.writeBytes(HttpUtil.downloadBytes("https://www.example.com/file"), "D:/file.txt");
登入後複製

以上是Java全能工具類之Hutool怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板