介绍 Excel操作工具封装 使用 从文件中读取Excel为ExcelReader ExcelReader reader = ExcelUtil.getReader(FileUtil.file("test.xlsx")); 从流中读取Excel为ExcelReader(比如从ClassPath中读取Excel文件) ExcelReader reader = ExcelUtil.getReader
介绍 针对Script执行工具化封装 使用 ScriptUtil.eval 执行Javascript脚本,参数为脚本字符串。 栗子: ScriptUtil.eval("print('Script test!');"); ScriptUtil.compile 编译脚本,返回一个CompiledScript对象 栗子: CompiledScript script = ScriptUtil.compi
介绍 CGLib (Code Generation Library) 是一个强大的,高性能,高质量的Code生成类库,通过此库可以完成动态代理、Bean拷贝等操作。 Hutool在5.4.1之后加入对Cglib的封装——CglibUtil,用于解决Bean拷贝的性能问题。 使用 引入Cglib <dependency> <groupId>cglib</groupId> <artif
由来 使用Spring Boot时,通过依赖注入获取bean是非常方便的,但是在工具化的应用场景下,想要动态获取bean就变得非常困难,于是Hutool封装了Spring中Bean获取的工具类——SpringUtil。 使用 注册SpringUtil 使用ComponentScan注册类 // 扫描cn.hutool.extra.spring包下所有类并注册之 @ComponentScan(bas
由来 考虑到MySQL等数据库中普通的UTF8编码并不支持Emoji(只有utf8mb4支持),因此对于数据中的Emoji字符进行处理(转换、清除)变成一项必要工作。因此Hutool基于emoji-java库提供了Emoji工具实现。 此工具在Hutoo-4.2.1之后版本可用。 使用 加入依赖 <dependency> <groupId>com.vdurmont</groupId>
由来 最早Servlet相关的工具并不在Hutool的封装考虑范围内,但是后来很多人提出需要一个Servlet Cookie工具,于是我决定建立ServletUtil,这样工具的使用范围就不仅限于Cookie,还包括参数等等。 其实最早的Servlet封装来自于作者的一个MVC框架:Hulu,这个MVC框架对Servlet做了一层封装,使请求处理更加便捷。于是Hutool将Hulu中Request
介绍 JSONUtil是针对JSONObject和JSONArray的静态快捷方法集合,在之前的章节我们已经介绍了一些工具方法,在本章节我们将做一些补充。 使用 parseXXX和toXXX 这两种方法主要是针对JSON和其它对象之间的转换。 readXXX 这类方法主要是从JSON文件中读取JSON对象的快捷方法。包括: readJSON readJSONObject readJSONArray
介绍 MapUtil是针对Map的一一列工具方法的封装,包括getXXX的快捷值转换方法。 方法 isEmpty、isNotEmpty 判断Map为空和非空方法,空的定义为null或没有值 newHashMap 快速创建多种类型的HashMap实例 createMap 创建自定义的Map类型的Map of 此方法将一个或多个键值对加入到一个新建的Map中,下面是栗子: Map<Object, Ob
来源 最早此工具类中的方法是在CollUtil中的,由于经过抽象,因此单独拿出来以适应更广的场景。 方法介绍 isEmpty 是否为null或者无元素 isNotEmpty 是否为非null或者至少一个元素 hasNull 是否有null元素 isAllNull 是否全部为null元素 countMap 根据集合返回一个元素计数的Map,所谓元素计数就是假如这个集合中某个元素出现了n次,那将这个元
什么是Bean 把一个拥有对属性进行set和get方法的类,我们就可以称之为JavaBean。实际上JavaBean就是一个Java类,在这个Java类中就默认形成了一种规则——对属性进行设置和获得。而反之将说Java类就是一个JavaBean,这种说法是错误的,因为一个java类中不一定有对属性的设置和获得的方法(也就是不一定有set和get方法)。 通常Java中对Bean的定义是包含setX
类处理工具 ClassUtil 这个工具主要是封装了一些反射的方法,使调用更加方便。而这个类中最有用的方法是scanPackage方法,这个方法会扫描classpath下所有类,这个在Spring中是特性之一,主要为Hulu框架中类扫描的一个基础。下面介绍下这个类中的方法。 getShortClassName 获取完整类名的短格式如:cn.hutool.core.util.StrUtil -> c
由来 在日常编码中,我们接触最多的除了JSON外,就是XML格式了,一般而言,我们首先想到的是引入Dom4j包,却不知JDK已经封装有XML解析和构建工具:w3c dom。但是由于这个API操作比较繁琐,因此Hutool中提供了XmlUtil简化XML的创建、读和写的过程。 使用 读取XML 读取XML分为两个方法: XmlUtil.readXML 读取XML文件 XmlUtil.parseXml
介绍 URL(Uniform Resource Locator)中文名为统一资源定位符,有时也被俗称为网页地址。表示为互联网上的资源,如网页或者FTP地址。在Java中,也可以使用URL表示Classpath中的资源(Resource)地址。 方法 获取URL对象 URLUtil.url 通过一个字符串形式的URL地址创建对象 URLUtil.getURL 主要获得ClassPath下资源的URL
介绍 转义和反转义工具类Escape / Unescape。escape采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。 此类中的方法对应Javascript中的escape()函数和unescape()函数。 方法 EscapeUtil.escape
介绍 从Hutool的5.4.x开始,Hutool加入了针对JDK8+日期API的封装,此工具类的功能包括LocalDateTime和LocalDate的解析、格式化、转换等操作。 使用 日期转换 String dateStr = "2020-01-23T12:23:56"; DateTime dt = DateUtil.parse(dateStr); // Date对象转换为LocalDate