Apache Commons 库:用了都说好!

最近自己写程序,发现 Apache Commons (http://commons.apache.org/) 库真的很好用,能够简化 Java 中很多繁琐的任务,帮我们造了很多轮子。

 

1. commons-io

跟 IO 有关的工具方法。

 

例1:关闭流

 

BufferedWriter out = null;
try {
    out = new BufferedWriter(...);
    out.write(...);
    ...
}
catch (IOException e) {
    e.printStackTrace();
}
finally {
    if (out != null) {
        try {out.close();} catch (IOException e) {}
    }
}

 上面 finally 中的是关闭流的常规写法,用 IOUtils 只需写成:

IOUtils.closeQuietly(out);

 

例2:读文件

List<String> = FileUtils.readLines(File); // 将文件的内容按行读到 List 里面
byte[] = FileUtils.readFileToByteArray(File); // 也可以读到 byte 数组里面

 也可以直接从 InputStream 读取。

 

例3:遍历目录

 

commons-io 提供了 DirectoryWalker 用于递归遍历目录,你的程序只需继承 DirectoryWalker ,然后实现一些方法即可。“目录行走者”,这个名字也很 cool :P

 

2. commons-cli

commons-cli 可以帮助你解析命令行参数

 

你需要写的只是像这样的代码:

 

// Options 用来装所有的参数
Options options = new Options();

// 添加参数,指定参数属性
options.addOption("t", false, "display current time");

// 解析参数
CommandLineParser parser = new PosixParser();
CommandLine cmd = parser.parse(options, args);

// 读取解析结果
if(cmd.hasOption("t")) {
...
}
else {
...
}

 

而且还有 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 提供了一个通用的对象池实现,我准备在另一篇文章中专门介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值