概念
- HuTool提供了一系列丰富的工具类,让Java编程变得更加简单高效。可以避免重复造轮子,专注于业务逻辑的实现,而不是琐碎的基础代码编写。它不仅提高了代码质量,还大大加速了开发进程。
- HuTool模块包括字符串处理、日期时间、文件操作、网络编程、数据库操作等
HuTool - StrUtil
// 字符串示例:使用HuTool的StrUtil工具类
// 使用了HuTool的StrUtil工具类来进行字符串的拼接和切割
import cn.hutool.core.util.StrUtil;
public class StrDemo {
public static void main(String[] args) {
// 示例:字符串拼接
String str1 = "Hello";
String str2 = "HuTool";
String result = StrUtil.format("{},欢迎使用{}", str1, str2);
System.out.println(result); // 输出:Hello,欢迎使用HuTool
// 示例:字符串切割
String str3 = "苹果,橘子,香蕉";
String[] fruits = StrUtil.split(str3, ',');
for (String fruit : fruits) {
System.out.println(fruit);
}
// 输出:
// 苹果
// 橘子
// 香蕉
}
}
HuTool - DateUtil
// 日期时间示例:使用HuTool的DateUtil工具类
import cn.hutool.core.date.DateUtil;
public class DateDemo {
public static void main(String[] args) {
// 示例:日期格式化
String now = DateUtil.now();
System.out.println("当前时间:" + now); // 输出格式化后的当前时间
// 示例:日期计算
String tomorrow = DateUtil.tomorrow().toString();
System.out.println("明天的日期:" + tomorrow); // 输出明天的日期
}
}
HuTool - CollUtil
// 集合操作示例:使用HuTool的CollUtil工具类
import cn.hutool.core.collection.CollUtil;
import java.util.ArrayList;
import java.util.List;
public class CollectionDemo {
public static void main(String[] args) {
// 创建一个列表
List<String> list = new ArrayList<>();
list.add("苹果");
list.add("香蕉");
list.add("橘子");
// 使用HuTool的CollUtil进行过滤
List<String> filteredList = CollUtil.filter(list, (String item) -> item.contains("香"));
System.out.println(filteredList); // 输出包含“香”字的水果
// 使用HuTool的CollUtil对集合进行排序
List<String> sortedList = CollUtil.sort(list, (o1, o2) -> o1.compareTo(o2));
System.out.println(sortedList); // 输出排序后的列表
}
}
字符串处理示例
// 字符串处理示例:使用HuTool的StrUtil工具类
import cn.hutool.core.util.StrUtil;
public class StringUtilDemo {
public static void main(String[] args) {
String str = "Hello HuTool!";
// 判断是否为空白字符串
boolean isBlank = StrUtil.isBlank(str);
System.out.println("字符串是否为空白:" + isBlank);
// 去除字符串的前后空格
String trimmedStr = StrUtil.trim(str);
System.out.println("去除空格后的字符串:" + trimmedStr);
// 字符串分割
String[] parts = StrUtil.split(trimmedStr, ' ');
for (String part : parts) {
System.out.println("分割后的字符串:" + part);
}
}
}
HuTool - 文件操作模块
// 文件读取示例:使用HuTool的FileUtil工具类
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.file.FileReader;
public class FileReadDemo {
public static void main(String[] args) {
// 定义文件路径
String filePath = "data/test.txt";
// 使用HuTool的FileUtil读取文件
String content = FileUtil.readUtf8String(filePath);
System.out.println("文件内容:" + content);
// 或者使用FileReader类读取文件
FileReader fileReader = new FileReader(filePath);
String content2 = fileReader.readString();
System.out.println("再次读取的文件内容:" + content2);
}
}
//文件写入
//文件写入示例:使用HuTool的FileUtil工具类
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.file.FileWriter;
public class FileWriteDemo {
public static void main(String[] args) {
// 定义文件路径
String filePath = "data/output.txt";
// 使用HuTool的FileUtil写入文件
String content = "Hello HuTool!";
FileUtil.writeUtf8String(content, filePath);
// 或者使用FileWriter类写入文件
FileWriter writer = new FileWriter(filePath);
writer.write("再次写入内容");
}
}
HuTool - 日期时间处理
//日期时间格式化示例:使用HuTool的DateUtil工具类
import cn.hutool.core.date.DateUtil;
public class DateFormatDemo {
public static void main(String[] args) {
// 获取当前时间
String now = DateUtil.now();
System.out.println("当前时间:" + now); // 输出格式化的当前时间
// 自定义格式化样式
String customFormat = DateUtil.format(DateUtil.date(), "yyyy年MM月dd日");
System.out.println("自定义格式化:" + customFormat); // 输出自定义格式的日期
}
}
//日期时间计算示例
//日期时间计算示例:使用HuTool的DateUtil工具类
import cn.hutool.core.date.DateUtil;
public class DateCalcDemo {
public static void main(String[] args) {
// 计算明天的日期
String tomorrow = DateUtil.tomorrow().toString();
System.out.println("明天的日期:" + tomorrow);
// 计算下周的今天
String nextWeek = DateUtil.nextWeek().toString();
System.out.println("下周的今天:" + nextWeek);
// 计算两个日期之间的天数差
long daysBetween = DateUtil.betweenDay(DateUtil.parse("2024-01-01"), DateUtil.parse("2024-01-10"), true);
System.out.println("日期间隔天数:" + daysBetween);
}
}
HuTool - 数据库操作
// 数据库连接示例:使用HuTool的DbUtil工具类
import cn.hutool.db.Db;
import cn.hutool.db.DbUtil;
import cn.hutool.db.Entity;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
public class DbConnectionDemo {
public static void main(String[] args) {
// 使用HuTool建立数据库连接
try (Connection conn = DbUtil.getConnection()) {
// 查询操作
List<Entity> list = Db.use(conn).query("SELECT * FROM 用户表");
for (Entity entity : list) {
System.out.println(entity);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
// 数据库增删改查示例:使用HuTool的Db工具类
import cn.hutool.db.Db;
import cn.hutool.db.Entity;
public class DbCrudDemo {
public static void main(String[] args) {
try {
// 插入数据
Db.use().insert(
Entity.create("用户表").set("姓名", "小红").set("年龄", 25)
);
// 查询数据
Entity user = Db.use().queryOne("SELECT * FROM 用户表 WHERE 姓名 = ?", "小红");
System.out.println(user);
// 更新数据
Db.use().update(
Entity.create().set("年龄", 26), Entity.create("用户表").set("姓名", "小红")
);
// 删除数据
Db.use().del(Entity.create("用户表").set("姓名", "小红"));
} catch (Exception e) {
e.printStackTrace();
}
}
}