这个是平时工作中使用Apache Commons 工具包发现的一些很有用的方法。
避免了我们平时重复造轮子,不过有空,又要看看这些方法的源码实现,这里commons源码就不贴了,去官网上下载吧..
1. Apache Commons IO IOUtils
a. closeQuietly() :关闭各种输入、输出、通信流、连接
b. toString() :将各种输入流、URL、byte数组 转换为String类型
c. copy() :复制各种流
d. toByteArray() :将各种输入流转换为Byte数组
e. write() :将输出流写出
f. toInputStream() :将字符串按照指定字符集转换为输入流
g. readLines() :将输入流按行读取
h. copyLarge() :复制超大字节比如2个G (⊙o⊙)…
i. lineIterator() :读取输入流,按行迭代
2. Apache Commons IO FileUtils
a. deleteDirectory() :删除目录(谨慎啊…)
b. readFileToString() :读取文件并转换为String类型
c. copyFile() :复制文件
d. writeStringToFile() :将字符串写入文件
e. forceMkdir() :递归创建目录
f. write() :写出
g. listFiles() :查找文件(第二第三个参数是过滤器,第二个参数不能为null)
h. copyDirectory() :复制目录
i. forceDelete() :递归删除
j. lineIterator(File, "UTF-8") : 操作基于行的文件.
3. Aapche Commons Lang StringUtils
a. isBlank() :判断某字符串是否为空,或者长度为0,或者由空白符构成的('\t','\n'什么的全部判断为空)。
b. isNotBlank() :判断字符串是否不为空且长度不为0,切不由空白符构成的。
c. isEmpty() :判断字符串是否为空,为空的标准是 str == null 或 str.length() == 0
d. isNotEmpty() :判断字符串是否不为空。
e. equals() :判断两个字符串是否相等
f. join() :将数组变成字符串,或者将数组用有逗号分隔变成字符串,
g. split() :将字符串变成数组,按照特定的符号划分
h. trimToNull() :去掉字符串两端的控制符,如果为null或"",则返回null
i. replace() :替换字符串,还可以控制替换最大次数。
4. Aapache Commons IO FileNameUtils
a. getExtension() :获取文件的后缀名(foo.txt --> "txt")
b. getBaseName() :获取文件名的名字,不包含后缀名(a/b/c.txt --> c)
c. getName() :获取文件名(文件名+后缀)
d. removeExtension() :也是获取文件名(foo.txt --> foo、a\b\c.jpg --> a\b\c)(就是删除后缀名)
e. wildcardMatch() :判断文件名后缀名是否按规则匹配(wildcardMatch("c.txt", "*.txt") --> true、wildcardMatch("c.txt", "*.jpg") --> false)
f. separatorsToUnix() :转换系统分隔符为Linux分隔符
g. getFullPath() :获取文件的完整目录(不包含文件)(C:\a\b\c.txt --> C:\a\b\)
h. isExtension() :判断文件扩展名是否包含在指定集合中。
5. Apache Commons IO FileSystemUtils
a. freeSpace("C:/") : 获取C盘的剩余空间
新发现一个NumberUtils
StringEscapeUtils.unescapeJava 反转义
Arrays原生方法
1. Arrays.asList(Array) ------- 将数组转换为List
Collections原生方法
1. Collections.reverse(collection); ------- 将List反转
org.apache.commons.collections.CollectionUtils
1. CollectionUtils.isEmpty(collection) ------- 判断集合为空.
2. CollectionUtils.isNotEmpty(collection) ------- 判断集合不为空
3. CollectionUtils.select(collection, predicate) ------- 迭代集合,并按照指定过滤方法过滤
Collection collection = CollectionUtils.select(list, new Predicate() {
@Override
public boolean evaluate(Object obj) {
if (!obj.equals("1")) {
return true;
}
return false;
}
});
for (Object object : collection) {
System.out.println(object.toString());
}
//输出 : 2 3
4. CollectionUtils.countMatches(list, new Predicate()) ------- 计算集合中 某个元素出现的次数.
5. CollectionUtils.cardinality(obj, coll) ------- 计算集合中 某个元素出现的次数
6. CollectionUtils.getCardinalityMap(collection) ------- 返回一个集合中元素出现的次数,以Map形式
org.apache.commons.lang.ArrayUtils
1. ArrayUtils.contains(array, objectToFind) ------- 判断数组中是否包含指定内容.
2. ArrayUtils.addAll(array, array) ------- 将两个数组合并成一个数组.
3. ArrayUtils.clone(array) ------- 克隆数组.
4. ArrayUtils.isEmpty(array) ------- 判断数组为空.
5. ArrayUtils.add(array, obj) ------- 将指定内容,追加到数组中.
6. ArrayUtils.subarray(array, startIndexInclusive, endIndexExclusive) ------- 根据下标,截取数组
7. ArrayUtils.indexOf(array, objectToFind) ------ 获取指定元素 在数组中的下标.
8. ArrayUtils.isEquals(array1, array2) -------- 判断两个数组 是否相同.
org.apache.commons.codec.digest.DigestUtils
1. DigestUtils.md5Hex(str) ------- 将数据进行MD5加密.
org.apache.commons.beanutils.BeanUtils
1. BeanUtils.describe(bean) ------- 将Bean对象转换为Map形式.