java开源框架jpeege,隆重向你推荐这 8 个开源 Java 类库

在青铜时代群里看到读者朋友们在讨论 Java 最常用的工具类,我觉得大家推荐的确实都挺常见的,我自己用的频率也蛮高的。恰好我在 programcreek 上看到过一篇类似的文章,就想着梳理一下分享给大家。

136be34314a57ba454d97dfa8ef5d707.png

在 Java 中,工具类通常用来定义一组执行通用操作的方法。本篇文章将会向大家展示 8 个工具类以及它们最常用的方法,类的排名和方法的排名均来自可靠的数据,从 GitHub 上最受欢迎的 50000 个开源 Java 项目中精心挑选。

为了方便大家的理解,我会在介绍每个类的方法时写一段小 Demo,这样大家就能知道每个方法该怎么用。放心吧,方法是干嘛的我也不会保密的。

1)IOUtils

org.apache.commons.io.IOUtils,操作 IO 流的工具类,下面是其常用的方法。

closeQuietly(),关闭 IO 流,并且忽略 null 值和异常。

136be34314a57ba454d97dfa8ef5d707.png

copy(),将字节从输入流复制到输出流。

136be34314a57ba454d97dfa8ef5d707.png

toByteArray(),以 byte[] 的形式获取输入流中的内容。

136be34314a57ba454d97dfa8ef5d707.png

write(),将字符或者字节写入输出流中。

136be34314a57ba454d97dfa8ef5d707.png

toInputStream(),将指定的字符转成输入流。

136be34314a57ba454d97dfa8ef5d707.png

readLines(),从输入流中一行一行地读取,并按照指定的字符编码返回字符串列表。

136be34314a57ba454d97dfa8ef5d707.png

copyLarge(),从输入流中复制内容到输出流,超过 2GB。

136be34314a57ba454d97dfa8ef5d707.png

readFully(),把输入流中的内容读入到字节数组中。

136be34314a57ba454d97dfa8ef5d707.png

2)FileUtils

org.apache.commons.io.FileUtils,操作文件或者目录的工具类,下面是其常用的方法。

deleteDirectory(),删除目录。

136be34314a57ba454d97dfa8ef5d707.png

readFileToString(),把文件的内容读入到字符串中。

136be34314a57ba454d97dfa8ef5d707.png

deleteQuietly(),删除文件,但不抛出异常。

136be34314a57ba454d97dfa8ef5d707.png

copyFile(),把文件复制到一个新的位置。

136be34314a57ba454d97dfa8ef5d707.png

writeStringToFile(),把字符串写入到文件。

136be34314a57ba454d97dfa8ef5d707.png

forceMkdir(),强制创建目录,包括任何必需但不存在的父目录。

136be34314a57ba454d97dfa8ef5d707.png

write(),把字符或者字节写入到文件。

136be34314a57ba454d97dfa8ef5d707.png

listFiles(),列出指定目录下的所有文件。

136be34314a57ba454d97dfa8ef5d707.png

copyDirectory(),将目录下的所有子目录及文件复制到新的目录。

136be34314a57ba454d97dfa8ef5d707.png

forceDelete(),强制删除文件或者目录及其所有子目录和文件。

136be34314a57ba454d97dfa8ef5d707.png

3)StringUtils

org.apache.commons.lang3.StringUtils,操作字符串的工具类,并且是 null 安全的,下面是其常用的方法。

isBlank(),检查字符是否为空字符串””,或者 null,或者空格。

136be34314a57ba454d97dfa8ef5d707.png

检查结果如下所示。

136be34314a57ba454d97dfa8ef5d707.png

isNotBlank(),与 isBlank() 检查的结果相反。

isEmpty(),检查字符是否为空字符串””,或者 null;和 isBlank() 不同,不包括空格的检查。

136be34314a57ba454d97dfa8ef5d707.png

检查结果如下所示。

136be34314a57ba454d97dfa8ef5d707.png

isNotEmpty(),与 isEmpty() 检查的结果相反。

join(),将多个元素连接成一个字符串。

136be34314a57ba454d97dfa8ef5d707.png

equals(),比较两个字符序列是否相等。

136be34314a57ba454d97dfa8ef5d707.png

split(),把字符串拆分为数组,拆分符为空白字符。

136be34314a57ba454d97dfa8ef5d707.png

replace(),替换另一个字符串中所有出现的字符串。

136be34314a57ba454d97dfa8ef5d707.png

4)FilenameUtils

org.apache.commons.io.FilenameUtils,操作文件名或者路径的工具类,下面是其常用的方法。

getExtension(),获取文件的扩展名。

136be34314a57ba454d97dfa8ef5d707.png

getBaseName(),获取单纯的文件名或者路径名,文件时去掉路径和扩展名;路径时去掉父级路径。

136be34314a57ba454d97dfa8ef5d707.png

getName(),如果是文件时,获取文件名和后缀,去掉路径;如果是路径时,去掉父级路径。

136be34314a57ba454d97dfa8ef5d707.png

concat(),将路径和文件名连接在一起。

136be34314a57ba454d97dfa8ef5d707.png

wildcardMatch(),检查文件名是否匹配指定的格式。

136be34314a57ba454d97dfa8ef5d707.png

separatorsToUnix(),将所有分隔符转换为正斜杠的 Unix 分隔符。

136be34314a57ba454d97dfa8ef5d707.png

getFullPath(),获取文件的完整路径。

136be34314a57ba454d97dfa8ef5d707.png

5)ArrayUtils

org.apache.commons.lang3.ArrayUtils,操作数组的工具类,下面是其常用的方法。

contains(),检查数组中是否包含某个值。

136be34314a57ba454d97dfa8ef5d707.png

addAll(),将所有元素添加到一个数组中。

136be34314a57ba454d97dfa8ef5d707.png

clone(),浅拷贝一个数组。

136be34314a57ba454d97dfa8ef5d707.png

isEmpty(),检查数组是否为 null 或者没有元素。

136be34314a57ba454d97dfa8ef5d707.png

add(),在数组中添加一个新的元素,原数组不变。

136be34314a57ba454d97dfa8ef5d707.png

subarray(),根据起始下标和结束下标截取一个子数组。

136be34314a57ba454d97dfa8ef5d707.png

indexOf(),找出指定数组的下标。

136be34314a57ba454d97dfa8ef5d707.png

6)DigestUtils

org.apache.commons.codec.digest.DigestUtils,加密的工具类,下面是其常用的方法。

md5Hex(),计算字符串的 MD5 摘要,并返回 32 位的十六进制字符。

136be34314a57ba454d97dfa8ef5d707.png

md5(),计算字符串的 MD5 摘要,并返回 16 个元素的字节数组。

136be34314a57ba454d97dfa8ef5d707.png

7)StringEscapeUtils

org.apache.commons.text.StringEscapeUtils,字符串的转义和反转义工具类,下面是其常用的方法。

unescapeHtml4(),反转义 HTML。

136be34314a57ba454d97dfa8ef5d707.png

escapeHtml4(),转义 HTML。

136be34314a57ba454d97dfa8ef5d707.png

escapeJava(),转义 Java。

136be34314a57ba454d97dfa8ef5d707.png

unescapeJava()

136be34314a57ba454d97dfa8ef5d707.png

8)BeanUtils

大多数 Java 开发人员习惯于创建 getter/setter 的JavaBean,然后通过调用相应的 getXxx 和 setXxx 方法访问对应字段。但在某些情况下,需要动态访问 Java 对象的属性,org.apache.commons.beanutils.BeanUtils 就派上用场了。

copyProperties(),拷贝所有属性

136be34314a57ba454d97dfa8ef5d707.png

其中 UserDTO 类的源码如下所示。

136be34314a57ba454d97dfa8ef5d707.png

其中 EUser 类的源码如下所示。

136be34314a57ba454d97dfa8ef5d707.png

其中 DateStringConverter 类的源码如下所示。

136be34314a57ba454d97dfa8ef5d707.png

getProperty(),返回 bean 指定的属性值。

136be34314a57ba454d97dfa8ef5d707.png

setProperty(),设置 bean 指定的属性值。

136be34314a57ba454d97dfa8ef5d707.png

编辑整理 丨李嘉琪

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值