Home >Java >javaTutorial >How to use Hutool, a Java all-purpose tool
Hutool is a Java tool library, developed by domestic programmer loolly. The purpose is to provide some convenient, fast and practical tool classes and tool methods to make Java developers easier handle various tasks efficiently. Hutool is characterized by ease of use, comprehensive functions, clear code, complete documentation, and supports JDK 1.8 and above. Currently, Hutool has been widely used and version 3.x has been released. Hutool 3.x version features upgraded dependency libraries, added some new features and optimized performance.
Hutool provides many commonly used tool classes and tool methods, covering various tasks, such as:
Common string tools Class
Date Time Tool Class
Collection Tool Class
Number Tool Class
Encryption and decryption tool class
File operation tool class
Excel data processing tool class
Http request tool class
Below, we will introduce some of its features.
Hutool provides some commonly used string tool classes, such as:
StrUtil: provides common string operations , such as string null detection, interception, replacement, formatting, etc.
ReUtil: Provides regular expression tool methods, such as matching, extraction, replacement, etc.
EscapeUtil: Provides tools and methods for escaping HTML, XML, Java, JavaScript and other strings.
EmojiUtil: Provides tools and methods for encoding and decoding emoji expressions.
// 判断字符串是否为空或者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 provides some commonly used date and time tool classes, such as:
DateUtil: Provides common operations on date and time, such as date and time formatting, date and time calculation, date and time comparison, etc.
CronUtil: Provides parsing and calculation of Cron expressions.
ChineseDateUtil: Provides processing of lunar dates.
// 日期时间格式化 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 provides some commonly used collection tool classes, such as:
CollUtil: provided Common operations on sets, such as emptying sets, merging sets, intercepting sets, etc.
ListUtil, SetUtil, MapUtil: Provides operation methods for List, Set, Map and other collections.
ArrayUtil: Provides common operations on arrays, such as array null detection, array merging, array interception, etc.
// 集合判空 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 provides some commonly used digital tool classes, such as:
NumberUtil: Provided Common operations on numbers, such as number formatting, number conversion, number comparison, etc.
RandomUtil: Provides methods for generating random numbers, random Boolean values, etc.
// 数字格式化 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 provides some commonly used encryption and decryption tool classes, such as:
DigestUtil: Commonly used encryption algorithms are provided, such as MD5, SHA-1, SHA-256, etc.
SecureUtil: Provides commonly used encryption and decryption operations, such as AES encryption, RSA encryption, BASE64 encoding and decoding, etc.
// 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 provides some commonly used file operation tool classes, such as:
FileUtil: Provides common file operations, such as file creation, file copying, file deletion, etc.
ZipUtil: Provides operations on compressed files, such as creation of compressed files, decompression of compressed files, etc.
// 文件创建 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");
Hutool provides some commonly used Excel data processing tool classes, such as:
ExcelReader: Provides operations for reading Excel files. It can read data in Excel, read data in a specified Sheet, etc.
ExcelWriter: Provides operations for writing Excel files, and can write data to the Sheet specified in Excel.
// 读取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();
Hutool provides some commonly used Http request tool classes, such as:
HttpUtil: Provides support for Http requests Operations, such as sending GET requests, sending POST requests, downloading files, etc.
// 发送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");
The above is the detailed content of How to use Hutool, a Java all-purpose tool. For more information, please follow other related articles on the PHP Chinese website!