开发基础
开发基础笔记
mybatis-plus通用的service方法
通过jenkins配置前后端自动打包及发布
mybatis-plus实现分页的方式
Java极客技术公众号PDF
狂神说SpringBoot
Hashids java 版使用
SpringBoot
1、Web快速开发
2、结果集的封装
3、集成MyBatis实现数据库操作
4、Springboot @Validated参数校验
5、SpringBoot全局异常处理
6、拦截器HandlerInterceptor
7、集成Swagger实现API自动生成
8、集成knife4j实现API自动生成
9、Springboot集成MyBatis-Plus快速入门
10、springboot自定义注解及AOP切面使用
11、使用Shiro实现登陆和权限认证,基于MyBatis
12、集成SpringSecurity实现授权认证
13、SpringBoot集成EasyExcel实现数据导入与导出
14、Spring Task定时任务的实现
15、Quartz快速上手与实践
16、如何用代码实现Spring IOC
17、SpringBoot集成JWT,实现接口的鉴权交互
SpringCloud
Nacos作为服务注册中心
seata1.6.1 结合springcloud实现分布锁的技术笔记
一些技术博客推荐
前端面试相关
看这一篇就够了
java.util包常用的类和接口
CountDownLatch介绍与使用
Common-lang3使用入门
Hutool简单使用入门
lombok 介绍及基本使用方法
git项目统计成员代码行数和提交的次数
mysql 逗号分隔的数据 like查询
使用sonar进行代码质量检查
线上使用jmeter进行压测的时候,使用Arthas诊断工具排查响应慢的接口
php结合phpstudy8、vscode开启xdebug进行代码调试
node-red使用入门
本文档使用 MrDoc 发布
-
+
首页
Hutool简单使用入门
> Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 ## 官方网站 https://www.hutool.cn/ 现在让我们动手实践一下 一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件: | 模块 | 介绍 | | ------------------ | ------------------------------------------------------------ | | hutool-aop | JDK动态代理封装,提供非IOC下的切面支持 | | hutool-bloomFilter | 布隆过滤,提供一些Hash算法的布隆过滤 | | hutool-cache | 简单缓存实现 | | hutool-core | 核心,包括Bean操作、日期、各种Util等 | | hutool-cron | 定时任务模块,提供类Crontab表达式的定时任务 | | hutool-crypto | 加密解密模块,提供对称、非对称和摘要算法封装 | | hutool-db | JDBC封装后的数据操作,基于ActiveRecord思想 | | hutool-dfa | 基于DFA模型的多关键字查找 | | hutool-extra | 扩展模块,对第三方封装(模板引擎、邮件、Servlet、二维码、Emoji、FTP、分词等) | | hutool-http | 基于HttpUrlConnection的Http客户端封装 | | hutool-log | 自动识别日志实现的日志门面 | | hutool-script | 脚本执行封装,例如Javascript | | hutool-setting | 功能更强大的Setting配置文件和Properties封装 | | hutool-system | 系统参数调用封装(JVM信息等) | | hutool-json | JSON实现 | | hutool-captcha | 图片验证码实现 | | hutool-poi | 针对POI中Excel和Word的封装 | | hutool-socket | 基于Java的NIO和AIO的Socket封装 | | hutool-jwt | JSON Web Token (JWT)封装实现 | ## 第一步:创建一个项目 ~~~ <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.24</version> </dependency> ~~~ ## 第二步:编写代码 ~~~ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.resource.ClassPathResource; import cn.hutool.core.lang.Console; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.asymmetric.KeyType; import cn.hutool.crypto.asymmetric.RSA; import cn.hutool.http.HttpUtil; import java.io.File; import java.util.List; public class HutoolExample { public static void main(String[] args) { // 字符串操作 String str = "Hutool is a tool for Java."; String result = StrUtil.sub(str, 0, 10); Console.log("SubString: {}", result); // 文件操作 File file = FileUtil.file("D:\\csdnwork\\test04\\src\\main\\resources\\static\\text.txt"); FileUtil.writeUtf8String("Hello Hutool", file); // 集合操作 List<String> list1 = CollUtil.newArrayList("Hutool", "Java", "Tool"); List<String> list2 = CollUtil.newArrayList("Easy", "Effective"); List<String> newList = (List<String>) CollUtil.addAll(list1, list2); Console.log("New List: {}", newList); // 加密 String test = SecureUtil.md5("Hello Hutool"); Console.log("MD5: {}", test); // 加密 RSA rsa = new RSA(); String originalText = "Hello Hutool"; byte[] encryptResult = rsa.encrypt(originalText, KeyType.PublicKey); Console.log("Encrypted: {}", encryptResult); // 解密 byte[] decryptResult = rsa.decrypt(encryptResult, KeyType.PrivateKey); String decryptedText = new String(decryptResult); Console.log("Decrypted: {}", decryptedText); // 日期时间处理 String dateStr = "2022-01-22"; Console.log("Date: {}", DateUtil.parse(dateStr)); // 网络操作 String response = HttpUtil.get("https://www.baidu.com"); Console.log("HTTP Response: {}", response); // 读取Classpath下的资源文件 ClassPathResource resource = new ClassPathResource("/static/index.html"); String content = resource.readStr(CharsetUtil.CHARSET_UTF_8); Console.log("Resource Content: {}", content); } } ~~~ 这段代码是一个Java程序,使用了Hutool工具库进行字符串、文件、集合、加密、解密、日期时间处理、网络操作和读取Classpath下的资源文件的操作。下面是对每个部分的解析: * 1、字符串操作: StrUtil.sub(str, 0, 10):截取字符串str的前10个字符,并将结果赋值给变量result。 Console.log("SubString: {}", result):将截取后的字符串输出到控制台。 * 2、文件操作: File file = FileUtil.file("D:\\csdnwork\\test04\\src\\main\\resources\\static\\text.txt"):创建一个文件对象,表示路径为"D:\csdnwork\test04\src\main\resources\static\text.txt"的文件。 FileUtil.writeUtf8String("Hello Hutool", file):将字符串"Hello Hutool"写入到文件中。 * 3、集合操作: List<String> list1 = CollUtil.newArrayList("Hutool", "Java", "Tool"):创建一个包含三个元素的字符串列表list1。 List<String> list2 = CollUtil.newArrayList("Easy", "Effective"):创建一个包含两个元素的字符串列表list2。 List<String> newList = (List<String>) CollUtil.addAll(list1, list2):将list1和list2合并成一个新的列表newList。 Console.log("New List: {}", newList):将合并后的列表输出到控制台。 * 4、加密: String test = SecureUtil.md5("Hello Hutool"):使用MD5算法对字符串"Hello Hutool"进行加密,并将加密后的结果赋值给变量test。 Console.log("MD5: {}", test):将加密后的结果输出到控制台。 加密: RSA rsa = new RSA():创建一个RSA加密对象。 String originalText = "Hello Hutool":定义一个原始文本字符串。 byte[] encryptResult = rsa.encrypt(originalText, KeyType.PublicKey):使用公钥对原始文本进行加密,并将加密后的结果赋值给字节数组encryptResult。 Console.log("Encrypted: {}", encryptResult):将加密后的结果输出到控制台。 * 5、解密: byte[] decryptResult = rsa.decrypt(encryptResult, KeyType.PrivateKey):使用私钥对加密后的结果进行解密,并将解密后的结果赋值给字节数组decryptResult。 String decryptedText = new String(decryptResult):将解密后的字节数组转换为字符串。 Console.log("Decrypted: {}", decryptedText):将解密后的字符串输出到控制台。 * 6、日期时间处理: String dateStr = "2022-01-22":定义一个日期字符串。 Console.log("Date: {}", DateUtil.parse(dateStr)):将日期字符串解析为日期对象,并输出到控制台。 * 7、网络操作: String response = HttpUtil.get("https://www.baidu.com"):发送HTTP GET请求到指定的URL(百度首页),并将响应内容赋值给字符串变量response。 Console.log("HTTP Response: {}", response):将HTTP响应内容输出到控制台。 * 8、读取Classpath下的资源文件: ClassPathResource resource = new ClassPathResource("/static/index.html"):创建一个ClassPathResource对象,表示路径为"/static/index.html"的资源文件。 String content = resource.readStr(CharsetUtil.CHARSET_UTF_8):读取资源文件的内容,并将其转换为UTF-8编码的字符串。 Console.log("Resource Content: {}", content):将资源文件的内容输出到控制台。
superadmin
2024年11月21日 15:07
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码