StrUtil(字符串处理)
可以用于字符串的拼接、分割、替换、判断是否为空等操作。
javaCopy Codeimport cn.hutool.core.util.StrUtil;
public class StrUtilDemo {
public static void main(String[] args) {
// 字符串拼接
String fullName = StrUtil.format("{}, {}", "张", "三");
System.out.println(fullName); // 输出:张, 三
// 字符串分割
String[] array = StrUtil.split("a,b,c", ",");
System.out.println(Arrays.toString(array)); // 输出:[a, b, c]
// 字符串替换
String newStr = StrUtil.replace("hello world", "world", "hutool");
System.out.println(newStr); // 输出:hello hutool
// 判断字符串是否为空或null
boolean isEmpty = StrUtil.isEmpty(null);
System.out.println(isEmpty); // 输出:true
isEmpty = StrUtil.isEmpty("");
System.out.println(isEmpty); // 输出:true
isEmpty = StrUtil.isEmpty(" ");
System.out.println(isEmpty); // 输出:false
}
}
DateUtil(日期时间处理)
可以用于日期时间格式化、日期计算、日期比较等操作。
javaCopy Codeimport cn.hutool.core.date.DateUtil;
import java.util.Date;
public class DateUtilDemo {
public static void main(String[] args) {
// 日期格式化
String strDate = DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss");
System.out.println(strDate); // 输出:2023-06-14 10:28:20
// 日期计算
Date date = DateUtil.offsetDay(new Date(), -1); // 昨天的日期
System.out.println(date); // 输出:Mon Jun 13 10:28:20 CST 2023
// 日期比较
boolean isSameDay = DateUtil.isSameDay(new Date(), DateUtil.parse("2023-06-14"));
System.out.println(isSameDay); // 输出:true
}
}
SecureUtil(加密解密)
可以用于常见的加密解密操作,例如MD5、SHA1、Base64等。
javaCopy Codeimport cn.hutool.crypto.SecureUtil;
public class SecureUtilDemo {
public static void main(String[] args) {
// MD5加密
String md5Str = SecureUtil.md5("hutool");
System.out.println(md5Str); // 输出:a9d4bbde746b87e82f11c8dfb5cf1576
// SHA1加密
String sha1Str = SecureUtil.sha1("hutool");
System.out.println(sha1Str); // 输出:a5eeabe8bc7be3433fdec00a0f8dbf9b21b1b246
// Base64编码、解码
String base64Str = SecureUtil.base64Encode("hutool");
System.out.println(base64Str); // 输出:aHV0b29s
String decodeStr = SecureUtil.base64DecodeStr(base64Str);
System.out.println(decodeStr); // 输出:hutool
}
}
FileUtil(文件操作)
可以用于文件的读取、写入、复制、删除等操作。
javaCopy Codeimport cn.hutool.core.io.FileUtil;
public class FileUtilDemo {
public static void main(String[] args) {
// 读取文件内容
String content = FileUtil.readUtf8String("D:/test.txt");
System.out.println(content);
// 写入文件内容
FileUtil.writeUtf8String("D:/test2.txt", "hello hutool");
// 复制文件
FileUtil.copy("D:/test.txt", "D:/test_copy.txt", true);
// 删除文件
FileUtil.del("D:/test.txt");
}
}
HttpUtil(网络操作)
可以用于发送HTTP请求,例如GET、POST等。
javaCopy Codeimport cn.hutool.http.HttpUtil;
public class HttpUtilDemo {
public static void main(String[] args) {
// 发送GET请求
String result = HttpUtil.get("https://www.baidu.com");
System.out.println(result);
// 发送POST请求
String postData = "username=admin&password=123456";
result = HttpUtil.post("http://localhost:8080/login", postData);
System.out.println(result);
}
}
CollectionUtil(集合操作)
可以用于集合的拼接、判断是否为空、去重等操作。
javaCopy Codeimport cn.hutool.core.collection.CollectionUtil;
import java.util.ArrayList;
import java.util.List;
public class CollectionUtilDemo {
public static void main(String[] args) {
// 集合拼接
List<String> list1 = new ArrayList<>();
list1.add("a");
list1.add("b");
List<String> list2 = new ArrayList<>();
list2.add("c");
list2.add("d");
List<String> result = CollectionUtil.addAll(list1, list2);
System.out.println(result); // 输出:[a, b, c, d]
// 判断集合是否为空或null
boolean isEmpty = CollectionUtil.isEmpty(null);
System.out.println(isEmpty); // 输出:true
List<String> list = new ArrayList<>();
isEmpty = CollectionUtil.isEmpty(list);
System.out.println(isEmpty); // 输出:true
// 集合去重
List<String> list3 = new ArrayList<>();
list3.add("a");
list3.add("b");
list3.add("b");
list3.add("c");
List<String> distinctList = CollectionUtil.distinct(list3);
System.out.println(distinctList); // 输出:[a, b, c]
}
}
RandomUtil(随机数生成)
可以用于生成随机整数、浮点数、字符串等。
javaCopy Codeimport cn.hutool.core.util.RandomUtil;
public class RandomUtilDemo {
public static void main(String[] args) {
// 生成随机整数
int randomInt = RandomUtil.randomInt(1, 100);
System.out.println(randomInt); // 输出:随机整数(1-100)
// 生成随机浮点数
double randomDouble = RandomUtil.randomDouble(0, 1);
System.out.println(randomDouble); // 输出:随机浮点数(0-1)
// 生成指定长度的随机字符串
String randomString = RandomUtil.randomString(10);
System.out.println(randomString); // 输出:随机字符串(长度为10)
}
}
ObjectUtil(对象操作)
可以用于判断对象是否为空、比较两个对象是否相等等。
javaCopy Codeimport cn.hutool.core.util.ObjectUtil;
public class ObjectUtilDemo {
public static void main(String[] args) {
// 判断对象是否为空或null
boolean isNull = ObjectUtil.isNull(null);
System.out.println(isNull); // 输出:true
isNull = ObjectUtil.isNull(new Object());
System.out.println(isNull); // 输出:false
// 比较两个对象是否相等
boolean isEqual = ObjectUtil.equal("hutool", "Hutool");
System.out.println(isEqual); // 输出:false
}
}
Convert(类型转换)
可以用于各种基本数据类型及其包装类、日期时间类型等之间的相互转换。
javaCopy Codeimport cn.hutool.core.convert.Convert;
public class ConvertDemo {
public static void main(String[] args) {
// 字符串转换为整数
int intValue = Convert.toInt("123");
System.out.println(intValue); // 输出:123
// 整数转换为字符串
String strValue = Convert.toStr(123);
System.out.println(strValue); // 输出:"123"
// 字符串转换为日期
String dateStr = "2023-06-14";
Date date = Convert.toDate(dateStr);
System.out.println(date); // 输出:Wed Jun 14 00:00:00 CST 2023
// 日期转换为字符串
String dateStr2 = Convert.toStr(date, "yyyy-MM-dd");
System.out.println(dateStr2); // 输出:"2023-06-14"
}
}
Validate(数据验证)
可以用于各种数据类型的验证,例如字符串、数字、日期、电子邮件等。
javaCopy Codeimport cn.hutool.core.lang.Validator;
public class ValidatorDemo {
public static void main(String[] args) {
// 验证邮箱格式是否正确
boolean isEmail = Validator.isEmail("123@qq.com");
System.out.println(isEmail); // 输出:true
// 验证手机号码是否正确
boolean isMobile = Validator.isMobile("13888888888");
System.out.println(isMobile); // 输出:true
// 验证身份证号码是否正确
boolean isCitizenId = Validator.isCitizenId("110101199003077777");
System.out.println(isCitizenId); // 输出:true
}
}
CharsetUtil(字符集操作)
可以用于获取系统默认字符集、转换编码、判断文件编码等。
javaCopy Codeimport cn.hutool.core.util.CharsetUtil;
public class CharsetUtilDemo {
public static void main(String[] args) {
// 获取系统默认字符集
String defaultCharset = CharsetUtil.defaultCharsetName();
System.out.println(defaultCharset); // 输出:UTF-8
// 转换编码
String str = "hutool";
byte[] bytes = CharsetUtil.convert(str, CharsetUtil.CHARSET_ISO_8859_1, CharsetUtil.CHARSET_UTF_8);
System.out.println(new String(bytes, CharsetUtil.CHARSET_UTF_8)); // 输出:"hutool"
// 判断文件编码
String charsetName = CharsetUtil.detect("D:/test.txt");
System.out.println(charsetName); // 输出:GBK
}
}
ZipUtil(压缩解压)
可以用于文件或目录的压缩、解压缩操作。
javaCopy Codeimport cn.hutool.core.util.ZipUtil;
public class ZipUtilDemo {
public static void main(String[] args) {
// 压缩文件或目录
ZipUtil.zip("D:/test", "D:/test.zip");
// 解压缩文件
ZipUtil.unzip("D:/test.zip", "D:/");
}
}
ImgUtil(图片处理)
可以用于图片缩放、裁剪、加水印等操作。
javaCopy Codeimport cn.hutool.core.img.ImgUtil;
public class ImgUtilDemo {
public static void main(String[] args) {
// 缩放图片
ImgUtil.scale("D:/test.jpg", "D:/test_scale.jpg", 0.5f);
// 裁剪图片
ImgUtil.cut("D:/test.jpg", "D:/test_cut.jpg", new Rectangle(100, 100, 200, 200));
// 加水印
ImgUtil.pressText("D:/test.jpg", "D:/test_watermark.jpg", "hutool", Color.RED, new Font("宋体", Font.BOLD, 36), 0, 0, 0.8f);
}
}
Log(日志输出)
可以用于在应用程序中进行日志输出。
javaCopy Codeimport cn.hutool.log.Log;
import cn.hutool.log.LogFactory;
public class LogDemo {
private static final Log log = LogFactory.get(); // 获取Logger对象
public static void main(String[] args) {
log.debug("debug message");
log.info("info message");
log.warn("warn message");
log.error("error message");
}
}
CronUtil(定时任务)
可以用于定时执行任务,例如每天定时生成报表、清理临时文件等。
javaCopy Codeimport cn.hutool.cron.CronUtil;
import cn.hutool.cron.task.Task;
import java.util.Date;
public class CronUtilDemo {
public static void main(String[] args) {
Task task = new Task() {
@Override
public void execute() {
System.out.println("execute task at " + new Date());
}
};
CronUtil.schedule("*/5 * * * * ?", task); // 每隔5秒执行一次任务
CronUtil.start(); // 启动定时任务
}
}