Apache旗下著名的开源IO类库:Commons IO 2.0下载地址发布了,关注Commons IO 2.0的朋友可以直接去官方获取最新的Commons IO 2.0下载地址下载试用。Commons IO 2.0是目前Commons IO系列产品的最新稳定版,而它之前的版本居然是Commons IO 1.4,从版本上可以看出其跨越之大。不过从官方给出的change list来看Commons IO 2.0从功能上完全兼容Commons IO 1.4,但对于Java版本的要求从之前的JDK 1.3升级到了JDK 1.5。当然随着JDK的升级Commons IO内部的api经历了一次不小的换血,无论是代码的实现还是性能都有了明显的提高。
简单说说Commons IO,它是一组对java.io核心类库的扩展类库。主要用于提供常用的io操作。相信使用过Java的朋友活多或少都接触过流的操作,尤其是在读取的时候需要手动控制读取的大小以保证不会内存溢出。当然还有必要的异常捕获等等。这一系列复杂零碎的方法都被有效的整合在Commons IO中以最简洁直观的api方式暴露给用户,不但使用简单灵活同时具有高度的可重用性,在很多开源项目中Commons IO几乎已经成为必备开发工具包。
Commons IO 2.0主要改进包括:
- Commons IO 2.0将IOUtils和FileFilterUtils中的部分方法标记为Deprecations,估计在后续版本中会逐步取消,目前只是为了保证兼容性而保留。
- Commons IO 2.0对JDK的要求由之前的JDK 1.3升级到了JDK 1.5(JDK 1.5是Commons IO 2.0的最低需求)
- Commons IO 2.0新增了BOMInputStream和ByteOrderMark类的实现
- Commons IO 2.0新增了BoundedInputStream类(该类是从Apache JackRabbit项目中复制过来的)
- Commons IO 2.0引入了新的Broken Input streams和 Broken Output streams
- Commons IO 2.0引入了新的文件监听器
- Commons IO 2.0新增了ReaderInputStream和WriterOutputStream的实现类
- Commons IO 2.0新增了StringBuilder Writer的实现类
- Commons IO 2.0新增了可标记Input streams和 Output streams
- Commons IO 2.0新增了Tailer类,实现了Linux/Unix中的tail -f命令
- Commons IO 2.0增加了新的XML流读写类的实现
- Commons IO 2.0大量原有工具类都进行了重构,并新增了很多更好用的方法
- Commons IO 2.0包含了大量Commons IO 1.4中的bug