最近自己写程序,发现 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 提供了一个通用的对象池实现,我准备在另一篇文章中专门介绍。
分享到:
相关推荐
在使用Apache Commons Math 3.6.1时,开发人员可以通过Maven依赖管理来方便地引入这个库,只需在项目中添加对应的Maven依赖即可。这简化了项目的构建过程,使得开发人员可以专注于业务逻辑,而无需自己实现复杂的...
同时,Apache Commons库通常会保持向后兼容性,但升级版本时仍需测试以确保兼容性。 总结一下,Apache Commons提供的这套jar包是Java开发者的重要资源,涵盖了从基本的I/O操作到复杂的网络通信和电子邮件发送等各个...
Apache Commons 是一个由 Apache 软件基金会维护...通过合理地使用 Apache Commons,开发者可以更加专注于业务逻辑,而不是基础的工具实现。在实际项目中,选择合适的 Commons 组件可以有效地提升开发效率和代码质量。
Apache Commons Lang是一个非常重要的Java库,它为Java标准类库提供了许多实用的工具类和扩展。这个资源包包含了丰富的功能,极大地增强了Java开发者的生产力。标题中的"org.apache.commons.lang包"指的是该库的主要...
在Java开发中,Apache Commons是一个非常重要的库集合,它提供了许多实用工具类,极大地简化了...在实际工作中,根据项目需求选择合适的Apache Commons库可以显著提升代码质量,减少重复工作,使代码更加规范和专业。
Apache Commons 是一个由 Apache 软件基金会维护的开源项目,它提供了大量的 Java 类库,这些类库包含了许多实用的功能,极大地丰富了 Java 核心库的功能,为开发者提供了更强大的工具集。在Web开发中,Apache ...
Apache Commons IO 是一个Java开发库,它提供了许多实用的工具类来处理输入/输出操作。这个包中的类弥补了Java标准库在IO操作上的不足,为开发者提供了更强大的功能和便利性。`org.apache.commons.io`是这个库的核心...
apache-commons下全部官方源码和官方API文档,其中有: commons-beanutils-1.8.0 commons-codec commons-collections commons-dbcp commons-dbutils commons-fileupload commons-io commons-lang commons-lang3 ...
Apache Commons是Java开发中不可或缺的一部分,它提供了一系列实用的工具类和组件,极大地丰富了Java标准库的功能。这个工具集包含了许多模块,每个模块都专注于特定的编程任务,旨在简化和优化开发流程。以下是一些...
- `LICENSE.txt`:包含了Apache Commons HttpClient的许可协议,它遵循Apache 2.0许可证,允许免费使用和修改源代码。 - `README.txt`:一般提供了项目的简介和快速入门指南。 - `NOTICE.txt`:通常列出库中可能包含...
8. **测试与文档**: Apache Commons IO库拥有详尽的Javadoc文档和单元测试,这不仅方便了开发者的使用,也保证了库的质量和稳定性。 总的来说,Apache Commons IO是一个强大且全面的工具集,它简化了Java中的I/O...
Apache Commons 是一个由Apache软件基金会开发的Java库集合,它为Java程序员提供了许多实用工具类,简化了常见的编程任务。这个"Apache Commons API.rar"压缩包包含五个关键的Apache Commons子项目的API文档,分别是...
3. **commons-pool.jar**:Apache Commons Pool是对象池化的实现,DBCP使用这个库来管理数据库连接的生命周期,确保连接的有效利用和回收。 加载这些库到工程的方式因开发环境而异,以下是一些常见方法: - **IDE...
Apache Commons Configuration 是一个强大的 Java 库,它简化了应用程序中配置文件的处理工作。这个库允许开发者以灵活的方式读取和管理不同格式的配置文件,包括但不限于 `.properties`、`.xml`、`.ini` 和从 JNDI...
Apache Commons Net是一个强大的Java库,专注于网络协议和网络操作,它是Apache软件基金会的一部分。这个库在版本3.0中提供了大量的网络工具和类,旨在简化网络编程任务,为开发者提供了丰富的功能,包括FTP、Telnet...
因此,对于生产代码来说,推荐使用像Apache Commons Codec这样的第三方库,或者Java 8及更高版本中引入的`java.util.Base64` API,它们更稳定且兼容性更好。 Apache Commons Codec库中的BASE64编码和解码功能比`sun...
Apache Commons 是一个由 Apache 软件基金会维护的开源项目集合,它提供了许多Java实用工具类,以增强Java标准库的功能。这些jar包是开发者在处理常见编程任务时的得力助手,涵盖范围广泛,包括数据结构、网络通信、...
Apache Commons-logging 是一个流行的Java日志记录库,提供了一个轻量级的日志记录接口,允许开发者使用不同的日志实现工具。下面是对 Apache Commons-logging 的使用实例的详细介绍。 1. Commons-Loggin 简介 ...
在 Apache Commons 项目中,每个特定的功能或模块都有一个单独的子项目,如 Commons Lang、Commons IO、Commons Collections 等。这些子项目分别关注不同的编程任务,例如字符串处理、I/O 操作、集合操作等。 标题...
Apache Commons Net是一个由Apache软件基金会开发的Java库,它提供了各种网络协议的实现,包括FTP、FTPS、TFTP、NNTP、SMTP、POP3、telnet等。这个"最新org.apache.commons.net.."的包表明它包含的是Apache Commons ...