【Java I/O 流】4 - 10 常用工具包

§4-10 常用工具包

4-10.1 Commons IO

Commons IO 是由 Apache 开源基金组织提供的一组有关 IO 操作的相关工具包。该工具包可以提高 IO 流的开发效率。

Apache Commons:Apache Commons – Apache Commons

Commons IO 下载链接:Commons IO – Download Apache Commons IO

Commons IO API 文档:Overview (Apache Commons IO 2.13.0 API)

使用方法:将得到的 zip 压缩文件解压后,将 commons-io-2.13.0.jar (应以实际下载的版本为准)放入项目文件夹中。然后,在 IDEA 的项目资源管理器右键该 jar 包,选择 Add as Library...(添加为库)即可。

Commons IO 概览:这里主要介绍两个工具类:FileUtilsIOUtils。分别用于操作文件 / IO 流。

FileUtils:文件工具类,用于操作文件,类中所有方法均为静态方法。

该类提供了以下功能:

  • 写出文件;
  • 读取文件;
  • 创建多级目录;
  • 复制文件和目录;
  • 删除文件和目录;
  • URL 互转;
  • 基于过滤器和扩展名列出子文件和子目录;
  • 比较文件内容;
  • 归档最后更改日期;
  • 计算校验和;

篇幅有限,这里仅列出部分方法,详见 Commons IO API 文档。

方法 描述
void copyFile(File srcFile, File destFile) 复制文件
void copyFileToDirectory(File srcFile, File destDir) 将文件复制到另一个文件夹下
void copyDirectory(File srcDir, File destDir) 复制文件夹
void copyDirectoryToDirectory(File srcDir, File destDir) 将文件夹复制到另一个文件夹下
void deleteDirectory(File directory) 删除文件夹
void cleanDirectory(File directory) 清空文件夹
String readFileToString(File file, Charset charsetName) 将文件中数据读取成字符串
void write(File file, CharSequence data, Charset charsetName, boolean append) 写出数据
long sizeOf(File file)
BigInteger sizeOfAsBigInteger(File file)
long sizeofDirectory(File directory)
BigInteger sizeOfDirectoryAsBigInteger(File directory)
计算文件/文件夹大小
long 可能有溢出风险)

IOUtils:IO 工具类,用于操作 IO 流,类中的方法都为静态方法。

篇幅有限,这里仅列出部分方法,详见 Commons IO API 文档。

方法 描述
int copy(InputStream input, OutputStream output)
int copy(InputStream input, OutputStream output, int bufferSize)
复制文件
int copyLarge(InputStream inputStream, OutputStream outputStream)
int copyLarge(InputStream inputStream, OutputStream outputStream, byte[] buffer)
复制大文件
(大于 2 GB)
List<String> readLines(InputStream input, Charset charset)
List<String> readLines(InputStream input, String charsetName)
List<String> readLines(Reader reader)
读取数据,每行一个条目
void write(String data, OutputStream output, Charset charset)
void write(String data, OutputStream output, String charsetName)
写出数据

此外,包中还有一个操作文件名的工具类 FilenameUtils,详见 Commons IO API 文档。

4-10.2 Hutool

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。

官方网站:Hutool — 🍬A set of tools that keep Java sweet.

Hutool 简介:简介 | Hutool

Hutool API:Overview (hutool - Gitee.com))

Hutool 工具包可以用于解决许多在开发过程中遇到的小问题。由于篇幅有限,这里不做过多介绍,详见 Hutool API。

适用于 IO 流的 API 封装在 cn.hutool.core.io 中,包括:

  • IoUtil 流操作工具类
  • FileUtil 文件读写和操作的工具类。
  • FileTypeUtil 文件类型判断工具类
  • WatchMonitor 目录、文件监听,封装了JDK1.7中的WatchService
  • ClassPathResource针对ClassPath中资源的访问封装
  • FileReader 封装文件读取(与 JDK 中的发生命名冲突,注意导入包时包的所在位置)
  • FileWriter 封装文件写入(与 JDK 中的发生命名冲突,注意导入包时包的所在位置)
posted @ 2023-08-23 12:04  Zebt  阅读(92)  评论(0)    收藏  举报