IO de Apache Commons: descripción general

La biblioteca Apache Commons IO proporciona varias clases de utilidades para operaciones comunes para File IO que cubren una amplia gama de casos de uso. Ayuda a evitar escribir código repetitivo.

La biblioteca de IO de Apache Commons proporciona clases para las siguientes categorías:

Clases de servicios públicos

Estas clases que están bajo org.apache.commons.iopaquete, proporciona comparación de archivos y cadenas. A continuación se muestran algunos de los ejemplos.

  • IOUtils- Proporciona métodos de utilidad para leer, escribir y copiar archivos. Los métodos funcionan con InputStream, OutputStream, Reader y Writer.

  • FilenameUtils- Proporciona un método para trabajar con nombres de archivos sin utilizar File Object. Funciona en diferentes sistemas operativos de manera similar.

  • FileUtils - Proporciona un método para manipular archivos como mover, abrir, verificar la existencia, leer el archivo, etc. Estos métodos usan File Object.

  • IOCase - Proporciona un método para la manipulación y comparación de cadenas.

  • FileSystemUtils - Proporciona un método para obtener espacio libre en una unidad de disco.

  • LineIterator - Proporciona una forma flexible de trabajar con un archivo basado en líneas.

Clases de filtro

Las clases de filtro que se encuentran en el paquete org.apache.commons.io.filefilter, proporcionan métodos para filtrar archivos basados ​​en criterios lógicos en lugar de tediosas comparaciones basadas en cadenas. A continuación se muestran algunos de los ejemplos.

  • NameFileFilter - Filtra los nombres de archivo para un nombre.

  • WildcardFileFilter - Filtra archivos usando los comodines proporcionados.

  • SuffixFileFilter- Filtra archivos según el sufijo. Se utiliza para recuperar todos los archivos de un tipo en particular.

  • PrefixFileFilter - Filtra archivos según el prefijo.

  • OrFileFilter- Proporciona lógica OR condicional a través de una lista de filtros de archivos. Devuelve verdadero, si alguno de los filtros de la lista devuelve verdadero. De lo contrario, devuelve falso.

  • AndFileFilter- Proporciona lógica y condicional a través de una lista de filtros de archivos. Devuelve falso si alguno de los filtros de la lista devuelve falso. De lo contrario, devuelve verdadero.

Clases de Monitor de archivos

Clases de monitor de archivos que están bajo org.apache.commons.io.monitorpaquete, proporciona control para realizar un seguimiento de los cambios en un archivo o carpeta específicos y permite realizar acciones en consecuencia sobre los cambios. A continuación se muestran algunos de los ejemplos.

  • FileEntry- Proporciona el estado de un archivo o directorio. Atributos de archivo en un momento determinado.

  • FileAlterationObserver - Representa el estado de los archivos debajo de un directorio raíz, verifica el sistema de archivos y notifica a los oyentes de eventos de creación, cambio o eliminación.

  • FileAlterationMonitor - Representa un hilo que genera un hilo de monitoreo que activa cualquier FileAlterationObserver registrado en un intervalo especificado.

Clases de comparación

Clases de supervisor de archivos en org.apache.commons.io.comparator El paquete permite comparar y ordenar archivos y directorios fácilmente.

  • NameFileComparator - Compare los nombres de dos archivos.

  • SizeFileComparator - Compare el tamaño de dos archivos.

  • LastModifiedFileComparator - Comparar las últimas fechas de modificación de dos archivos.

Clases de corriente

Hay varias implementaciones de InputStream en el paquete org.apache.commons.io.input y de OutputStream en el paquete org.apache.commons.io.output, para realizar tareas útiles en las transmisiones. A continuación se muestran algunos de los ejemplos.

  • NullOutputStream - Absorbe todos los datos enviados con cualquier error.

  • TeeOutputStream - Envía salida a dos flujos.

  • ByteArrayOutputStream - Versión más rápida de la clase JDK.

  • CountingOutputStream - Cuenta el número de bytes que se pasan a través del flujo.

  • ProxyOutputStream - Cambia las llamadas al flujo de proxy.

  • LockableFileWriter - Un FileWriter para crear archivos de bloqueo y permitir un manejo simple de bloqueos de archivos entre subprocesos.