Apache Commons IO - Présentation

La bibliothèque Apache Commons IO fournit diverses classes d'utilitaires pour les opérations courantes pour File IO couvrant un large éventail de cas d'utilisation. Cela permet d'éviter d'écrire du code standard.

La bibliothèque Apache Commons IO fournit des classes pour les catégories suivantes -

Classes d'utilité

Ces classes qui sont sous org.apache.commons.iopackage, fournit une comparaison de fichiers et de chaînes. Voici quelques exemples.

  • IOUtils- Fournit des méthodes utilitaires pour lire, écrire et copier des fichiers. Les méthodes fonctionnent avec InputStream, OutputStream, Reader et Writer.

  • FilenameUtils- Fournit une méthode pour travailler avec les noms de fichiers sans utiliser l'objet de fichier. Il fonctionne sur différents systèmes d'exploitation de la même manière.

  • FileUtils - Fournit une méthode pour manipuler des fichiers comme le déplacement, l'ouverture, la vérification de l'existence, la lecture de fichier, etc. Ces méthodes utilisent File Object.

  • IOCase - Fournit une méthode de manipulation et de comparaison de chaînes.

  • FileSystemUtils - Fournit une méthode pour obtenir l'espace libre sur un lecteur de disque.

  • LineIterator - Fournit une manière flexible de travailler avec un fichier basé sur des lignes.

Filtrer les classes

Les classes de filtrage qui sont sous le package org.apache.commons.io.filefilter, fournissent des méthodes pour filtrer les fichiers en fonction de critères logiques au lieu de comparaisons fastidieuses basées sur des chaînes. Voici quelques exemples.

  • NameFileFilter - Filtre les noms de fichiers pour un nom.

  • WildcardFileFilter - Filtre les fichiers à l'aide des caractères génériques fournis.

  • SuffixFileFilter- Filtre les fichiers en fonction du suffixe. Ceci est utilisé pour récupérer tous les fichiers d'un type particulier.

  • PrefixFileFilter - Filtre les fichiers en fonction du préfixe.

  • OrFileFilter- Fournit une logique OR conditionnelle sur une liste de filtres de fichiers. Renvoie true, si l'un des filtres de la liste renvoie true. Sinon, il renvoie false.

  • AndFileFilter- Fournit des conditions et une logique dans une liste de filtres de fichiers. Renvoie false si l'un des filtres de la liste renvoie false. Sinon, il renvoie vrai.

Classes du moniteur de fichiers

Classes de surveillance de fichiers sous org.apache.commons.io.monitorpackage, fournit le contrôle pour suivre les modifications dans un fichier ou un dossier spécifique et permet d'agir en conséquence sur les modifications. Voici quelques exemples.

  • FileEntry- Fournit l'état d'un fichier ou d'un répertoire. Attributs de fichier à un moment donné.

  • FileAlterationObserver - Représente l'état des fichiers sous un répertoire racine, vérifie le système de fichiers et informe les écouteurs des événements de création, de modification ou de suppression.

  • FileAlterationMonitor - Représente un thread qui génère un thread de surveillance déclenchant tout FileAlterationObserver enregistré à un intervalle spécifié.

Classes de comparaison

Classes de surveillance de fichiers sous org.apache.commons.io.comparator package permet de comparer et de trier facilement les fichiers et répertoires.

  • NameFileComparator - Comparez les noms de deux fichiers.

  • SizeFileComparator - Comparez la taille de deux fichiers.

  • LastModifiedFileComparator - Comparez les dernières dates de modification de deux fichiers.

Classes de flux

Il existe plusieurs implémentations d'InputStream sous le package org.apache.commons.io.input et de OutputStream sous le package org.apache.commons.io.output, pour effectuer des tâches utiles sur les flux. Voici quelques exemples.

  • NullOutputStream - Absorbe toutes les données envoyées avec n'importe quelle erreur.

  • TeeOutputStream - Envoie la sortie à deux flux.

  • ByteArrayOutputStream - Version plus rapide de la classe JDK.

  • CountingOutputStream - Compte le nombre d'octets passés dans le flux.

  • ProxyOutputStream - Modifie les appels au flux proxy.

  • LockableFileWriter - Un FileWriter pour créer des fichiers de verrouillage et permettre une gestion simple du verrouillage des fichiers de thread croisé.