理解 Thread 线程类的方法

  JDK 自带的线程类实现了 Runnable 接口,提供了很多方法来支持对线程的操作,可以获取线程ID,线程名,判断线程是否存活等。

阅读更多

Utils-异常信息格式化工具类

  项目中的代码捕获到的异常(Exception)信息应该通过日志管理(Log4j)写入到日志文件,是非常不建议直接打印出栈信息的(e.printStackTrace());而通过 Exception 的方法直接获取到的异常信息并不全面,或直接对异常信息进行 JSON 格式化,但记录到日志信息是长长的一行,非常不利于阅读和跟踪问题。

  我们可以调用 getStackTrace()方法,返回的是栈跟踪信息数组,通过对数组遍历格式化拼接,可以让记录到日志文件的异常信息的格式达到 **printStackTrace()**方法的效果,这就是下面的工具类的目的,代码非常的简单。

阅读更多

Spring Context Utils 获取上下文中的 bean

在使用多线程环境时,有些对象不是拖管在 Spring 容器中,但需要拿到 Bean 资源,是无法通过注入的方式的,就需要通过外部工具类来获取 Spring 上下文,再获取 Bean。

阅读更多

Utils:常用工具类(io,file,bean,String,Array)

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
  8. copyLarge 同copy,支持2GB以上数据的复制。
  9. lineIterator 从输入流返回一个迭代器,根据参数要求读取的数据量,全部读取,如果数据不够,则失败。

io.FileUtils

  1. deleteDirectory 删除文件夹。
  2. readFileToString 以字符形式读取文件内容。
  3. deleteQueitly 删除文件或文件夹且不会抛出异常。
  4. copyFile 复制文件。
  5. writeStringToFile 把字符写到目标文件,如果文件不存在,则创建。
  6. forceMkdir 强制创建文件夹,如果该文件夹父级目录不存在,则创建父级。
  7. write 把字符写到指定文件中。
  8. listFiles 列举某个目录下的文件(根据过滤器)。
  9. copyDirectory 复制文件夹。
  10. forceDelete 强制删除文件

lang.StringUtils

  1. isBlank 字符串是否为空 (trim后判断)。
  2. isEmpty 字符串是否为空 (不trim并判断)
  3. equals 字符串是否相等
  4. join 合并数组为单一字符串,可传分隔符
  5. split 分割字符串
  6. EMPTY 空字符串
  7. trimToNull trim后为空字符串则转换为null
  8. replace 替换字符串

lang3.StringUtils

  1. isBlank 字符串是否为空 (trim后判断)
  2. isEmpty 字符串是否为空 (不trim并判断)
  3. equals 字符串是否相等
  4. join 合并数组为单一字符串,可传分隔符
  5. split 分割字符串
  6. EMPTY 空字符串
  7. replace 替换字符串
  8. capitalize 首字符大写

io.FilenameUtils

  1. getExtension 返回文件后缀名
  2. getBaseName 返回文件名,不包含后缀名
  3. getName 返回文件全名
  4. concat 按命令行风格组合文件路径(详见方法注释)
  5. removeExtension 删除后缀名
  6. normalize 使路径正常化
  7. wildcardMatch 匹配通配符
  8. seperatorToUnix 路径分隔符改成unix系统格式的,即/getFullPath 获取文件路径,不包括文件名
  9. isExtension 检查文件后缀名是不是传入参数(List)中的一个

lang.ArrayUtils

  1. contains 是否包含某字符串
  2. addAll 添加所有
  3. clone 克隆一个数组
  4. isEmpty 是否空数组
  5. add 向数组添加元素
  6. subarray 截取数组
  7. indexOf 查找下标
  8. isEquals 比较数组是否相等
  9. toObject 基础类型数据数组转换为对应的Object数组

lang3.ArrayUtils

  1. contains 是否包含某字符串
  2. addAll 添加所有
  3. clone 克隆一个数组
  4. isEmpty 是否空数组
  5. add 向数组添加元素
  6. subarray 截取数组
  7. indexOf 查找下标
  8. isEquals 比较数组是否相等
  9. toObject 基础类型数据数组转换为对应的Object数组

lang.StringEscapeUtils

支持编码转换
escapeXml unEscapeXml。
此外,还支持html. java. JavaScript. sql. csv等

lang3.StringEscapeUtils

支持编码转换
escapeJson unEscapeJson。
此外,还支持html. java. JavaScript. sql. csv. xml等

codec.digest.DigestUtils

  1. md5Hex MD5加密,返回32位
  2. sha1Hex SHA-1加密
  3. sha256Hex SHA-256加密
  4. sha512Hex SHA-512加密
  5. md5 MD5加密,返回16位

collections.CollectionUtils

  1. isEmpty 是否为空
  2. select 根据条件筛选集合元素
  3. transform 根据指定方法处理集合元素,类似List的map()。
  4. filter 过滤元素,雷瑟List的filter()
  5. find 基本和select一样
  6. collect 和transform 差不多一样,但是返回新数组
  7. forAllDo 调用每个元素的指定方法。
  8. isEqualCollection 判断两个集合是否一致

beanutils.PropertyUtils

  1. getProperty 获取对象属性值
  2. setProperty 设置对象属性值
  3. getPropertyDiscriptor 获取属性描述器
  4. isReadable 检查属性是否可访问
  5. copyProperties 复制属性值,从一个对象到另一个对象
  6. getPropertyDiscriptors 获取所有属性描述器
  7. isWriteable 检查属性是否可写
  8. getPropertyType 获取对象属性类型

beanutils.BeanUtils

  1. copyPeoperties 复制属性值,从一个对象到另一个对象
  2. getProperty 获取对象属性值
  3. setProperty 设置对象属性值
  4. populate 根据Map给属性复制
  5. copyPeoperty 复制单个值,从一个对象到另一个对象。
  6. cloneBean 克隆

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基本一样,但能自动去掉空白的单词

org.apache.http

util.EntityUtils

  1. toString 把Entity转换为字符串
  2. consume 确保Entity中的内容全部被消费。可以看到源码里又一次消费了Entity的内容,假如用户没有消费,那调用Entity时候将会把它消费掉。
  3. toByteArray 把Entity转换为字节流
  4. consumeQuietly 和consume一样,但不抛异常
  5. getContentCharset 获取内容的编码

client.utils.URLEncodedUtils

  1. format 格式化参数,返回一个HTTP POST或者HTTP PUT可用 application/x-www-form-urlencoded字符串
  2. parse 把String或者URI等转换为List