Apache Commons IO - 概述

Apache Commons IO 库为文件 IO 的常见操作提供了各种实用程序类,涵盖了广泛的用例。 它有助于避免编写样板代码。


Apache Commons IO 库提供以下类别的类 −

实用程序类

org.apache.commons.io 包下的这些类提供文件和字符串比较。 以下是一些例子。

  • IOUtils − 提供用于读取、写入和复制文件的实用方法。 这些方法适用于 InputStream、OutputStream、Reader 和 Writer。

  • FilenameUtils − 提供在不使用文件对象的情况下使用文件名的方法。 它以类似的方式在不同的操作系统上工作。

  • FileUtils − 提供操作文件的方法,如移动、打开、检查存在、读取文件等。这些方法使用文件对象。

  • IOCase − 提供字符串操作和比较的方法。

  • FileSystemUtils − 提供获取磁盘驱动器可用空间的方法。

  • LineIterator − 提供一种灵活的方式来处理基于行的文件。

过滤器类

org.apache.commons.io.filefilter 包下的过滤器类提供了基于逻辑标准过滤文件的方法,而不是基于字符串的繁琐比较。 以下是一些例子。

  • NameFileFilter − 过滤文件名以获得名称。

  • 通配符文件过滤器 − 使用提供的通配符过滤文件。

  • SuffixFileFilter − 根据后缀过滤文件。 这用于检索特定类型的所有文件。

  • PrefixFileFilter − 根据前缀过滤文件。

  • OrFileFilter − 跨文件过滤器列表提供条件 OR 逻辑。 如果列表中的任何过滤器返回 true,则返回 true。 否则,它返回 false。

  • AndFileFilter − 跨文件过滤器列表提供条件和逻辑。 如果列表中的任何过滤器返回 false,则返回 false。 否则,它返回真。

文件监视器类

org.apache.commons.io.monitor 包下的文件监视器类提供控制以跟踪特定文件或文件夹中的更改,并允许对更改进行相应的操作。 以下是一些例子。

  • FileEntry − 提供文件或目录的状态。 某个时间点的文件属性。

  • FileAlterationObserver − 表示根目录下文件的状态,检查文件系统并通知监听器创建、更改或删除事件。

  • FileAlterationMonitor − 表示一个线程,该线程生成一个监视线程,以指定的时间间隔触发任何已注册的 FileAlterationObserver。

比较器类

org.apache.commons.io.comparator 包下的文件监视器类允许轻松比较和排序文件和目录。

  • NameFileComparator − 比较两个文件的名称。

  • SizeFileComparator − 比较两个文件的大小。

  • LastModifiedFileComparator − 比较两个文件的最后修改日期。

流类

org.apache.commons.io.input包下的InputStream和org.apache.commons.io.output包下的OutputStream有多种实现, 在流上做有用的任务。 以下是一些例子。

  • NullOutputStream − 吸收所有发送的有任何错误的数据。

  • TeeOutputStream − 将输出发送到两个流。

  • ByteArrayOutputStream − 更快的 JDK 类版本。

  • CountingOutputStream − 计算通过流的字节数。

  • ProxyOutputStream − 更改对代理流的调用。

  • LockableFileWriter − 用于创建锁定文件并允许简单的跨线程文件锁定处理的 FileWriter。