hutool 常用方法
所属分类 hutool
浏览量 196
字符串工具(StrUtil)
各种字符串处理方法,如判空、截取、拼接、格式化、大小写转换、正则表达式匹配等
日期时间工具(DateUtil)
日期时间的格式化、解析、计算、比较、时区转换、时间间隔计算等功能
文件工具(FileUtil)
文件和目录的操作,包括复制、移动、删除、文件大小计算、文件类型判断等
加密解密工具(SecureUtil)
包括各种常见的加密算法和哈希函数,如MD5、SHA-1、SHA-256、DES、AES等
网络工具(NetUtil)
网络相关的工具方法,如获取本机IP地址、端口扫描、HTTP请求发送等
数据转换工具(Convert)
各种数据类型之间的转换,包括字符串、数字、日期、集合等
JSON工具(JSONUtil)
JSON对象的转换、解析、格式化和操作
Excel工具(ExcelUtil)
Excel文件的读取和写入,包括读取和写入Excel表格数据、样式设置等
图像工具(ImageUtil)
图像处理功能,包括缩放、裁剪、旋转、水印添加、格式转换等
邮件工具(MailUtil)
发送电子邮件,支持文本和HTML邮件的发送
定时任务工具(CronUtil)
Cron表达式的解析和计算,方便定时任务的管理和调度
日志工具(Log)
简化日志记录的方法,允许以不同级别输出日志信息
其他工具(MiscUtil)
其他杂项工具,如SystemUtil(系统信息获取)、RuntimeUtil(运行时信息获取)等
数据脱敏
// 5*******@qq.com
DesensitizedUtil.email("53731236@qq.com");
// 137****7886
DesensitizedUtil.mobilePhone("13738197886");
// 3***************78
DesensitizedUtil.desensitized("330724198310183378", DesensitizedUtil.DesensitizedType.ID_CARD);
import cn.hutool.core.util.StrUtil;
String str = "Hello, World!";
boolean isEmpty = StrUtil.isEmpty(str);
boolean isNotEmpty = StrUtil.isNotEmpty(str);
String str1 = "Hello";
String str2 = "World";
String result = StrUtil.format("{} {}!", str1, str2); // 使用{}占位符拼接字符串
Map params = new HashMap();
System.out.println(StrUtil.format("hello,{name}",params));
params.put("name","java");
System.out.println(StrUtil.format("hello,{name}",params));
String[]arr = {"a","b","c"};
List list = CollectionUtil.newArrayList(arr);
System.out.println(StrUtil.join(",",arr));
System.out.println(StrUtil.join(",",list));
String str = "1 ,, ,,2,3,";
list = StrUtil.split(str,',');
System.out.println(StrUtil.join(";",list));
arr = StrUtil.splitToArray(str,',');
System.out.println(StrUtil.join(";",arr));
// trim 且 忽略 empty
list = StrUtil.split(str,',',true,true);
System.out.println(StrUtil.join(";",list));
下划线与驼峰 互转
String underlineString = "hello_world";
String camelCaseString = StrUtil.toCamelCase (underlineString);
System.out.println (camelCaseString);
System.out.println (StrUtil.toUnderlineCase(camelCaseString));
import cn.hutool.core.date.DateUtil;
Date date = new Date();
String formattedDate = DateUtil.format(date, "yyyy-MM-dd HH:mm:ss"); // 格式化日期
Date now = new Date();
Date nextDay = DateUtil.offsetDay(now, 1); // 计算下一天的日期
import cn.hutool.core.io.FileUtil;
FileUtil.copy("source.txt", "destination.txt", true); // 复制文件,第三个参数表示是否覆盖
boolean fileExists = FileUtil.exist("example.txt"); // 判断文件是否存在
String content = "This is a test.";
FileUtil.writeUtf8String(content, "example.txt"); // 写入文件内容
String fileName = "example.txt";
String extension = FileUtil.extName(fileName); // 获取文件的后缀名
String path1 = "C:\\example\\dir";
String path2 = "file.txt";
String fullPath = FileUtil.join(path1, path2); // 拼接路径
import cn.hutool.crypto.SecureUtil;
String input = "password123";
String md5Hash = SecureUtil.md5(input); // MD5哈希值
import cn.hutool.http.HttpUtil;
String response = HttpUtil.get("https://www.example.com"); // 发送GET请求
String postData = "data=example";
String response = HttpUtil.post("https://www.example.com", postData); // 发送POST请求
HttpUtil.downloadFile("https://www.example.com/file.zip", "downloaded.zip"); // 下载文件
import cn.hutool.json.JSONUtil;
String jsonString = "{\"name\":\"John\",\"age\":30}";
JSONObject jsonObject = JSONUtil.parseObj(jsonString); // 将JSON字符串转换为JSON对象
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelReader;
ExcelReader reader = ExcelUtil.getReader("data.xlsx"); // 读取Excel文件
List< List< Object > > dataList = reader.read(); // 读取数据
import cn.hutool.core.img.ImgUtil;
ImgUtil.scale(new File("input.jpg"), new File("output.jpg"), 0.5f); // 缩放图像大小
发送邮件
import cn.hutool.extra.mail.MailUtil;
import cn.hutool.extra.mail.MailAccount;
MailAccount account = new MailAccount();
account.setHost("smtp.example.com");
account.setPort(25);
account.setAuth(true);
account.setUser("your@email.com");
account.setPass("yourpassword");
MailUtil.send(account, "recipient@example.com", "Subject", "Message Body", false);
解析Cron表达式
import cn.hutool.cron.CronUtil;
String cron = "0 0/1 * * * ?";
CronUtil.schedule("testJob", cron, () -> System.out.println("执行任务")); // 解析Cron表达式并执行任务
CronUtil.start();
import cn.hutool.core.io.FileUtil;
String content = FileUtil.readUtf8String("example.txt"); // 读取文件内容
List lines = new ArrayList<>();
FileUtil.readUtf8Lines(file,lines);
String headLine = lines.get(0);
String[]fields = StrUtil.splitToArray(headLine,',');
SHA-256加密
import cn.hutool.crypto.digest.DigestUtil;
String input = "password123";
String sha256Hash = DigestUtil.sha256Hex(input); // 计算SHA-256哈希值
URL编码和解码
import cn.hutool.core.util.URLUtil;
String url = "https://www.example.com?q=Hutool-All";
String encodedUrl = URLUtil.encode(url); // URL编码
String decodedUrl = URLUtil.decode(encodedUrl); // URL解码
AES加密和解密
import cn.hutool.crypto.symmetric.SymmetricCrypto;
SymmetricCrypto aes = new SymmetricCrypto(SymmetricAlgorithm.AES, "yourkey");
String content = "Sensitive data";
String encrypted = aes.encryptBase64(content); // AES加密
String decrypted = aes.decryptStr(encrypted); // AES解密
import cn.hutool.core.util.XmlUtil;
String xml = "John30";
Element root = XmlUtil.readXML(xml);
String name = XmlUtil.elementText(root, "name"); // 解析XML文档
import cn.hutool.core.util.IdcardUtil;
String idCard = "330682200001010101";
boolean valid = IdcardUtil.isValidCard(idCard); // 验证身份证号码是否有效
import cn.hutool.core.util.IdUtil;
String uuid = IdUtil.simpleUUID(); // 生成简单UUID
import cn.hutool.core.bean.BeanUtil;
Map map = new HashMap<>();
map.put("name", "John");
map.put("age", 30);
User user = BeanUtil.mapToBean(map, User.class, true); // 将Map转换为Java Bean
import cn.hutool.core.util.EnumUtil;
EnumUtil.fromString(WeekEnum.class, "SUNDAY"); // 通过名称获取Enum常量
import cn.hutool.core.util.NetUtil;
boolean validIp = NetUtil.isUsableLocalPort(80); // 检查端口是否可用
import cn.hutool.system.SystemUtil;
String osName = SystemUtil.get("os.name"); // 读取系统属性
import cn.hutool.core.util.ReUtil;
String content = "The price is $100.99";
String regex = "The price is \\$(\\d+\\.\\d+)";
String price = ReUtil.get(regex, content, 1); // 使用正则表达式匹配并提取价格
import cn.hutool.core.codec.Base64;
String source = "Base64 Encoding";
String encoded = Base64.encode(source); // 进行Base64编码
String decoded = Base64.decodeStr(encoded); // 进行Base64解码
import cn.hutool.core.util.StrUtil;
String input = "Base58 Encoding";
String encoded = StrUtil.base58Encode(input); // 进行Base58编码
String decoded = StrUtil.base58Decode(encoded); // 进行Base58解码
import cn.hutool.core.util.RandomUtil;
int randomInt = RandomUtil.randomInt(1, 100); // 生成指定范围内的随机整数
String randomStr = RandomUtil.randomString(8); // 生成指定长度的随机字符串
// 生成 4 位随机验证码
String code = RandomUtil.randomStringUpper(4);
import cn.hutool.core.util.ClassLoaderUtil;
ClassLoader classLoader = ClassLoaderUtil.getClassLoader(); // 获取当前线程的类加载器
import cn.hutool.cache.Cache;
import cn.hutool.cache.CacheUtil;
Cache lruCache = CacheUtil.newLRUCache(100);
lruCache.put("key1", "value1");
String value = lruCache.get("key1"); // 获取LRU缓存中的值
import cn.hutool.core.util.XmlUtil;
String xml = "John30";
String formattedXml = XmlUtil.format(xml); // 格式化XML文档
import cn.hutool.core.text.csv.CsvData;
import cn.hutool.core.text.csv.CsvReader;
CsvReader reader = new CsvReader("data.csv", CharsetUtil.CHARSET_UTF_8);
CsvData data = reader.read(); // 读取CSV文件内容
import cn.hutool.http.HtmlUtil;
String query = "name=John&age=30";
Map paramMap = HtmlUtil.decodeParamMap(query, "UTF-8"); // 解析URL参数
import cn.hutool.core.collection.CollUtil;
List data = Arrays.asList("A", "B", "C", "D", "E");
List> groups = CollUtil.subList(data, 2); // 将List分成指定大小的子List
import cn.hutool.core.util.ObjectUtil;
boolean isEqual = ObjectUtil.equal(obj1, obj2); // 比较两个对象是否相等
import cn.hutool.core.util.ZipUtil;
ZipUtil.unzip("example.zip", "destinationDir"); // 解压ZIP文件到指定目录
上一篇
下一篇
程序员 如何利用 个人网站 自媒体赚钱
springboot3 自动配置文件
hutool SPI serviceloader 实例
hutool使用常见问题
hutool-db hsqldb2 例子
hutool-db 使用