最近自己写程序,发现 Apache Commons(http://commons.apache.org/) 库真的很好用,能够简化 Java 中很多繁琐的任务,帮我们造了很多轮子。
1. commons-io
跟 IO 有关的工具方法。
例1:关闭流
上面 finally 中的是关闭流的常规写法,用 IOUtils 只需写成:
例2:读文件
也可以直接从 InputStream 读取。
例3:遍历目录
commons-io 提供了 DirectoryWalker 用于递归遍历目录,你的程序只需继承 DirectoryWalker ,然后实现一些方法即可。“目录行走者”,这个名字也很 cool :P
2. commons-cli
commons-cli 可以帮助你解析命令行参数。
你需要写的只是像这样的代码:
而且还有 HelpFormatter 帮你自动生成一份命令行选项的帮助,相当贴心。
3. commons-lang
提供很多基础的工具方法,增强了 java.lang 包中的类。用的比较多的是关于字符串处理的,即 StringUtils 和 StringEscapeUtils
我用到的是 StringEscapeUtils.escapeHtml(String):将字符串中的 HTML 特殊字符(<>"等)用 HTML 实体替换。
还有 StrTokenizer :可以进行比 StringTokenizer 更复杂的文法解析。
4. commons-configuration
没用过,但看起来也很不错。提供统一的接口,从各种地方读取配置,比如:properties 文件、Windows INI 文件、XML 文档、Applet/Servlet 参数等。
PS. 另外,commons-pool 提供了一个通用的对象池实现,我准备在另一篇文章中专门介绍。