准备环境
模块
|
介绍
|
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-all 方式引入所有模块。
<dependency><groupId>cn.hutoolgroupId><artifactId>hutool-allartifactId><version>5.3.7version>dependency>
int a = 1;//aStr为"1"String aStr = Convert.toStr(a);long[] b = {1,2,3,4,5};//bStr为:"[1, 2, 3, 4, 5]"String bStr = Convert.toStr(b);
String[] b = { "1", "2", "3", "4" };//结果为Integer数组Integer[] intArray = Convert.toIntArray(b);long[] c = {1,2,3,4,5};//结果为Integer数组Integer[] intArray2 = Convert.toIntArray(c);
String str = "2012-12-12";Date parse = new SimpleDateFormat("yyyy-MM-dd").parse(str);Date date = Convert.toDate(str);System.out.println(date);String str1 = "2012/12/12";Date date1 = Convert.toDate(str1);System.out.println(date1);
Object[] a = {"a", "你", "好", "", 1};List> list = Convert.convert(List.class, a);//从4.1.11开始可以这么用List> list = Convert.toList(a);
# 1.说明- 主要是用来操作IO流相关的操作
FileInputStream is = new FileInputStream(new File("/Users/chenyannan/IdeaProjects/180codes/HuTool/src/main/resources/aa.txt"));FileOutputStream os = new FileOutputStream(new File("/Users/chenyannan/IdeaProjects/180codes/HuTool/src/main/resources/cc.txt"));IoUtil.copy(is,os);IoUtil.copy(is,os,2048);//指定缓冲区大小IoUtil.copy(is,os,IoUtil.DEFAULT_BUFFER_SIZE);//指定缓冲区大小
//读取文件FileUtil.file("/Users/chenyannan/IdeaProjects/180codes/HuTool/src/main/resources/bb.txt");//追加字符串FileUtil.appendString("我是小陈",file,"UTF-8");//文件拷贝FileUtil.copy(file,new File("/Users/chenyannan/IdeaProjects/180codes/HuTool/src/main/resources/bb.txt"),true);//删除文件// 需要注意的是,del方法会删除目录而不判断其是否为空,这一方面方便了使用,另一方面也可能造成一些预想不到的后果(比如拼写错路径而删除不应该删除的目录),所以请谨慎使用此方法。FileUtil.del(file);File file2 = new File("/Users/chenyannan/IdeaProjects/180codes/HuTool/src/main/resources/aa.txt");//创建文件同时如果目录不存在也会一并创建File touch = FileUtil.touch(file2);//创建多级目录File mkdir = FileUtil.mkdir(file2);
# 1.字符串工具-StrUtil
String str = "aa.txt";boolean empty = StrUtil.isEmpty(str); //不判断空格boolean b = StrUtil.isBlank(str); //判断空格String s = StrUtil.removePrefix(str, "aa");//去掉前缀String s1 = StrUtil.removeSuffix(str, ".txt");//去掉后缀String sub = StrUtil.sub(str, 2, str.length());//截取字符串byte[] bytes = StrUtil.bytes(str, "UTF-8");//指定字符集转为bytesString tempalte = "姓名:{},年龄:{}";String content = StrUtil.format(tempalte, "content", 23);System.out.println(content);