
此文是系列文章第三篇,前几篇请点击链接查看
程序猿的福音 - Apache Commons简介
程序员的福音 - Apache Commons Lang
Apache Commons IO 是对java.io的扩展,主要是对Java中的bio封装了一些好用的工具类,nio涉及的较少,关于bio和nio问题我们后续再聊。
Commons IO目前最新版本是2.10.0,最低要求Java8以上。
以下为整体结构:
下面只列举其中常用的加以说明,其余感兴趣的可以自行翻阅源码研究。
IOUtils可以说是Commons IO中最常用的了,下面直接看例子。
文件相关主要有FileUtils:文件工具类,FilenameUtils:文件名工具类,PathUtils:路径工具类(主要是 *** 作JDK7新增的java.nio.file.Path类)
org.apache.commons.io.input和org.apache.commons.io.output包下有许多好用的过滤流,下面列举几个做下说明
可观察的输入流(典型的观察者模式),可实现边读取边处理
比如将某些字节替换为另一个字节,计算md5摘要等
当然你也可以完全写到文件后在做处理,这样相当于做了两次遍历,性能较差。
这是一个基类,使用时需要继承它来扩展自己的流,示例如下:
org.apache.commons.io.compare包有很多现成的文件比较器,可以对文件排序的时候直接拿来用。
DefaultFileComparator :默认文件比较器,直接使用File的compare方法。(文件集合排序( Collections.sort() )时传此比较器和不传效果一样)
DirectoryFileComparator :目录排在文件之前
ExtensionFileComparator :扩展名比较器,按照文件的扩展名的ascii顺序排序,无扩展名的始终排在前面
LastModifiedFileComparator :按照文件的最后修改时间排序
NameFileComparator :按照文件名称排序
PathFileComparator :按照路径排序,父目录优先排在前面
SizeFileComparator :按照文件大小排序,小文件排在前面(目录会计算其总大小)
CompositeFileComparator :组合排序,将以上排序规则组合在一起
使用示例如下:
org.apache.commons.io.monitor包主要提供对文件的创建、修改、删除的监听 *** 作,下面直接看简单示例。
除了以上介绍的工具类外,还有其他不是很常用的就不多做介绍了。感兴趣的可以自行翻阅源码研究。
后续章节我将继续给大家介绍commons中其他好用的工具类库,期待你的关注。
在tomcat6之前只只会bio,tomcat6之后提供了nio的实现但不是默认的可以配置为nio模型,tomcat8以后默认就是nio模型,性能比之前有了很大的提升.没事可以去黑马程序员官网视频库看看免费视频。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)