Apache commons 包中的有用类介绍
一、org.apache.commons.lang
1、CharRange用来判断一个Char是否位于某个范围内;
2、CharSet判断一个或者多个字符是否位于一个字符集合中;
3、CharSetUtils用来替换字符串、计算一个字符串中某个字符的出现次数等;
4、ObjectUtils:defaultIfNull、equals、toString(当null时可以为空格或者默认值)。
5、SerializationUtils序列化用clone、serialize(序列化到流中或者序列化为二进制字符串)、deserialize。
6、StringUtils:判断是否是数字,截取某个分隔符前后的字符串,交换大小写,将多个Object类型的join为一个字符串,一个字符串重复n次,反转字符串,将某个字符串居中/左/右对齐。
7、SystemUtils:读系统变量
8、ClassUtils进行反射调用,比如得到一个类的包名、类名、所有接口、所有父类
9、StringEscapeUtils将字符串格式化为符合HTML、SQL、JavaScript等能否使用的字符串
二、org.apache.commons.builder
方便构建equals、compareTo、hashCode方法。
三、org.apache.commons.exception
ExceptionUtils用来为Nest异常脱皮,将异常转换为异常字符串(调用堆栈)或者将异常字符串转换为异常堆栈。NestableRuntimeException嵌套运行时异常。
四、org.apache.commons.time
1、DateFormatUtils:格式化日期
2、StopWatch跑表
五、其他
ArrayUtils,字符串操作。toString方法用来返回数组的字符串形式(比如new int[]{3,5,7,2,3,4}转换为{3,5,7,2,3,4});hashCode方法得到数组的hashcode;clone得到数组的拷贝;toPrimitive、toObject等用来在Wrapped数组和原生数组之间转换;
commons-configuration
用来提供配置文件保存和加载,能以xml这样的层级格式保存。
commons-IO
一、CopyUtils
提供将对象拷贝到流中,将输出流拷贝到输入流中,
二、FileUtils
byteCountToDisplaySize:得到字节大小的通俗表示,比如3MB;
copyFileToDirectory:将文件拷贝到某目录;
deleteDirectory:删除目录
cleanDirectory:清理目录
readFileToString:将文本文件读取到字符串中
writeStringToFile:将字符串写到文本文件中
三、HexDump
以类似于UE的方式显示二进制数据,例子:
byte[] datas = SerializationUtils.serialize(Boolean.TRUE);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
HexDump.dump(datas, 0, bos, 0);
System.out.println(bos.toString());
IOUtils.closeQuietly(bos);
四、IOUtils
closeQuietly:关闭各种资源
toString:得到InputStream的字符串形式
toByteArray:得到InputStream的二进制形式
contentEquals:两个InputStream是否相等