文章内容
在日常开发中,我们经常会用到各种工具类,熟练使用这些工具类,就能避免重复造轮子,提升开发效率。
相关依赖引入:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>org.apache.commons.lang</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
1、字符串工具类
- org.apache.commons.lang.StringUtils
// 是否为空,空格字符为false
isEmpty(String str);
// 是否为非空,空格字符为true
isNotEmpty(String str);
// 是否为空,空格字符为true
isBlank(String str);
// 是否为非空,空格字符为false
isNotBlank(String str);
// 比较两个字符串是否相等,如果两个均为空则认为相等
equals(String str1,String str2);
// str中是否包含字符searchChar,str为null 或者 searchChar为null,返回false
contains(String str,char searchChar)
// 去除字符串两端的控制符,空字符串、null 返回 null
trim(String str);
// 去掉字符串str中所有包含remove的部分,然后返回
remove(String str,char remove);
// 把数组中的元素连接成一个字符串返回
join(Object[] array);
// 把数组中的元素拼接成一个字符串返回,把分隔符 split 也带上
join(Object[] array,char split);
// 如果字符串str是以remove开始,则去掉这个开始,然后返回,否则返回原来的串
removeStart(String str,String remove);
// 如果字符串str是以字符串remove结尾,则去掉这个结尾,然后返回,否则返回原来的串。
removeEnd(String str,String remove);
// 去除str 前端在stripChars中的字符
stripStart (String str,String stripChars);
// 去除str 后端在stripChars中的字符
stripEnd (String str,String stripChars);
// 从start 开始,包含start 那个字符,得到字符串str 的子串,如果start为负数,则从后面开始数起。如果str 为null 或者 "" 则返回其本身
subString(String str,int start);
// 从start 开始到end结束,包含start 那个字符,得到字符串str 的子串,如果start为负数,则从后面开始数起。如果str 为null 或者 "" 则返回其本身
subString(String str,int start,int end);
// 得到字符串separator第一次出现前的子串。不包含那个字符,如果str 为null 或者 "" 则返回其本身。
subStringBefore(String str,String separator);
// 得到字符串separator第一次出现后的子串,不包含那个字符,如果 str 为null,或者"",则返回其本身
subStringAfter(String str,String separator);
- org.springframework.util.StringUtils
1、hasText
// 检查字符串中是否包含文本
2、hasLength
// 检测字符串是否长度大于0
3、isEmpty
// 检测字符串是否为空(若传入为对象,则判断对象是否为null)
4、commaDelimitedStringToArray
// 逗号分隔的String转换为数组
5、collectionToDelimitedString
// 把集合转为CSV格式字符串
6、replace
// 替换字符串
7、delimitedListToStringArray
// 相当于split
8、uncapitalize
// 首字母小写
9、collectionToDelimitedCommaString
// 把集合转为CSV格式字符串
10、tokenizeToStringArray
// 和split基本一样,但能自动去掉空白的单词
2、Bean工具类
- org.springframework.beans.BeanUtils
1、copyPeoperties
// 复制属性值,从一个对象到另一个对象
2、getProperty
// 获取对象属性值
3、setProperty
// 设置对象属性值
4、populate
// 根据Map给属性复制
5、copyPeoperty
// 复制单个值,从一个对象到另一个对象。
6、cloneBean
// 克隆
3、IO流工具类
- org.apache.commons.io.IOUtils
1、closeQuietly
// 关闭一个IO流、socket、或者selector且不抛出异常。通常放在finally块。
2、toString
// 转换IO流、Uri、byte[]为String。
3、copy
// IO流数据复制,从输入流写到输出流中,最大支持2GB。
4、toByteArray
// 从输入流、URI获取byte[]。
5、write
// 把字节、字符等写入输出流。
6、toInputStream
// 把字符转换为输入流。
7、readLines
// 从输入流中读取多行数据,返回List<String>
8、copyLarge
// 同copy,支持2GB以上数据的复制。
9、lineIterator
// 从输入流返回一个迭代器,根据参数要求读取的数据量,全部读取,如果数据不够,则失败。
4、文件工具类
- org.apache.commons.io.FileUtils
1、deleteDirectory
// 删除文件夹
2、readFileToString
// 以字符形式读取文件内容。
3、deleteQueitly
// 删除文件或文件夹且不会抛出异常。
4、copyFile
// 复制文件
5、writeStringToFile
// 把字符写到目标文件,如果文件不存在,则创建。
6、forceMkdir
// 强制创建文件夹,如果该文件夹父级目录不存在,则创建父级。
7、write
// 把字符写到指定文件中
8、listFiles
// 列举某个目录下的文件(根据过滤器)
9、copyDirectory
// 复制文件夹
10、forceDelete
// 强制删除文件
- org.apache.commons.io.FilenameUtils
1、getExtension
// 返回文件后缀名
2、getBaseName
// 返回文件名,不包含后缀名
3、getName
// 返回文件全名
4、concat
// 按命令行风格组合文件路径(详见方法注释)
5、removeExtension
// 删除后缀名
6、normalize
// 使路径正常化
7、wildcardMatch
// 匹配通配符
8、seperatorToUnix
// 路径分隔符改成unix系统格式的,即/
9、getFullPath
// 获取文件路径,不包括文件名
10、isExtension
// 检查文件后缀名是不是传入参数(List<String>)中的一个
5、数组工具类
- org.apache.commons.lang.ArrayUtils
1、contains
// 是否包含某字符串
2、addAll
// 添加所有
3、clone
// 克隆一个数组
4、isEmpty
// 是否空数组
5、add
// 向数组添加元素
6、subarray
// 截取数组
7、indexOf
// 查找下标
8、isEquals
// 比较数组是否相等
9、toObject
// 基础类型数据数组转换为对应的Object数组
6、集合工具类
- org.apache.commons.collections.CollectionUtils
1、isEmpty
// 是否为空
2、select
// 根据条件筛选集合元素
3、transform
// 根据指定方法处理集合元素,类似List的map()。
4、filter
// 过滤元素,雷瑟List的filter()
5、find
// 基本和select一样
6、collect
// 和transform 差不多一样,但是返回新数组
7、forAllDo
// 调用每个元素的指定方法。
8、isEqualCollection
// 判断两个集合是否一致
7、加密工具类
- org.apache.commons.codec.digest.DigestUtils
1、md5Hex
// MD5加密,返回32位
2、sha1Hex
// SHA-1加密
3、sha256Hex
// SHA-256加密
4、sha512Hex
// SHA-512加密
8、Entity工具类
- org.apache.http.util.EntityUtils
1、toString
// 把Entity转换为字符串
2、consume
// 确保Entity中的内容全部被消费。可以看到源码里又一次消费了Entity的内容,假如用户没有消费,那调用Entity时候将会把它消费掉。
3、toByteArray
// 把Entity转换为字节流
4、consumeQuietly
// 和consume一样,但不抛异常
5、getContentCharset
// 获取内容的编码
9、属性操作工具类
- org.apache.commons.beanutils.PropertyUtils
1、getProperty
// 获取对象属性值
2、setProperty
// 设置对象属性值
3、getPropertyDiscriptor
// 获取属性描述器
4、isReadable
// 检查属性是否可访问
5、copyProperties
// 复制属性值,从一个对象到另一个对象
6、getPropertyDiscriptors
// 获取所有属性描述器
7、isWriteable
// 检查属性是否可写
8、getPropertyType
// 获取对象属性类型