Apache Commons IO - Panoramica

La libreria Apache Commons IO fornisce varie classi di utilità per operazioni comuni per File IO che coprono un'ampia gamma di casi d'uso. Aiuta a evitare di scrivere codice boilerplate.

La libreria Apache Commons IO fornisce classi per le seguenti categorie:

Classi di utilità

Queste classi che sono sotto org.apache.commons.iopacchetto, fornisce il confronto di file e stringhe. Di seguito sono riportati alcuni esempi.

  • IOUtils- Fornisce metodi di utilità per leggere, scrivere e copiare file. I metodi funzionano con InputStream, OutputStream, Reader e Writer.

  • FilenameUtils- Fornisce un metodo per lavorare con i nomi dei file senza utilizzare File Object. Funziona su diversi sistemi operativi in ​​modo simile.

  • FileUtils - Fornisce un metodo per manipolare i file come lo spostamento, l'apertura, il controllo dell'esistenza, la lettura del file, ecc. Questi metodi utilizzano File Object.

  • IOCase - Fornisce un metodo per la manipolazione e il confronto delle stringhe.

  • FileSystemUtils - Fornisce un metodo per ottenere lo spazio libero su un'unità disco.

  • LineIterator - Fornisce un modo flessibile per lavorare con un file basato su riga.

Filtra classi

Le classi di filtro che si trovano nel pacchetto org.apache.commons.io.filefilter, forniscono metodi per filtrare i file in base a criteri logici invece di noiosi confronti basati su stringhe. Di seguito sono riportati alcuni esempi.

  • NameFileFilter - Filtra i nomi dei file per un nome.

  • WildcardFileFilter - Filtra i file utilizzando i caratteri jolly forniti.

  • SuffixFileFilter- Filtra i file in base al suffisso. Viene utilizzato per recuperare tutti i file di un tipo particolare.

  • PrefixFileFilter - Filtra i file in base al prefisso.

  • OrFileFilter- Fornisce logica OR condizionale in un elenco di filtri di file. Restituisce vero, se qualche filtro nell'elenco restituisce vero. In caso contrario, restituisce false.

  • AndFileFilter- Fornisce condizionale e logica in un elenco di filtri di file. Restituisce false se qualsiasi filtro nell'elenco restituisce false. In caso contrario, restituisce true.

Classi di File Monitor

Classi di file monitor che si trovano sotto org.apache.commons.io.monitorpacchetto, fornisce il controllo per tenere traccia delle modifiche in un file o una cartella specifica e consente di eseguire azioni di conseguenza sulle modifiche. Di seguito sono riportati alcuni esempi.

  • FileEntry- Fornisce lo stato di un file o di una directory. Attributi di file in un determinato momento.

  • FileAlterationObserver - Rappresenta lo stato dei file sotto una directory principale, controlla il file system e notifica ai listener gli eventi di creazione, modifica o eliminazione.

  • FileAlterationMonitor - Rappresenta un thread che genera un thread di monitoraggio che attiva qualsiasi FileAlterationObserver registrato a un intervallo specificato.

Classi di confronto

Classi di monitoraggio file in org.apache.commons.io.comparator pacchetto permette di confrontare e ordinare facilmente file e directory.

  • NameFileComparator - Confronta i nomi di due file.

  • SizeFileComparator - Confronta le dimensioni di due file.

  • LastModifiedFileComparator - Confronta le ultime date di modifica di due file.

Corsi in streaming

Esistono più implementazioni di InputStream nel pacchetto org.apache.commons.io.input e di OutputStream nel pacchetto org.apache.commons.io.output, per eseguire attività utili sui flussi. Di seguito sono riportati alcuni esempi.

  • NullOutputStream - Assorbe tutti i dati inviati con qualsiasi errore.

  • TeeOutputStream - Invia l'output a due flussi.

  • ByteArrayOutputStream - Versione più veloce della classe JDK.

  • CountingOutputStream - Conta il numero di byte passati attraverso il flusso.

  • ProxyOutputStream - Modifica le chiamate al flusso proxy.

  • LockableFileWriter - Un FileWriter per creare file di blocco e consentire una semplice gestione del blocco dei file di thread incrociati.