Apache Commons IO - Visão geral
A biblioteca Apache Commons IO fornece várias classes de utilitários para operações comuns para File IO, abrangendo uma ampla gama de casos de uso. Isso ajuda a evitar escrever código clichê.
A biblioteca Apache Commons IO fornece classes para as seguintes categorias -
Aulas de utilidades
Essas classes que estão sob org.apache.commons.iopacote, fornece comparação de arquivo e string. A seguir estão alguns dos exemplos.
IOUtils- Fornece métodos utilitários para ler, escrever e copiar arquivos. Os métodos funcionam com InputStream, OutputStream, Reader e Writer.
FilenameUtils- Fornece método para trabalhar com nomes de arquivo sem usar Objeto de Arquivo. Ele funciona em diferentes sistemas operacionais de maneira semelhante.
FileUtils - Fornece método para manipular arquivos como mover, abrir, verificar a existência, ler o arquivo etc. Esses métodos usam Objeto de Arquivo.
IOCase - Fornece método para manipulação e comparação de strings.
FileSystemUtils - Fornece método para obter o espaço livre em uma unidade de disco.
LineIterator - Oferece uma maneira flexível de trabalhar com um arquivo baseado em linha.
Classes de filtro
As classes de filtro que estão no pacote org.apache.commons.io.filefilter, fornecem métodos para filtrar arquivos com base em critérios lógicos em vez de comparações tediosas baseadas em strings. A seguir estão alguns dos exemplos.
NameFileFilter - Filtra nomes de arquivo para um nome.
WildcardFileFilter - Filtra arquivos usando os curingas fornecidos.
SuffixFileFilter- Filtra arquivos com base no sufixo. Isso é usado para recuperar todos os arquivos de um tipo específico.
PrefixFileFilter - Filtra arquivos com base no prefixo.
OrFileFilter- Fornece lógica OR condicional em uma lista de filtros de arquivo. Retorna verdadeiro se algum filtro da lista retornar verdadeiro. Caso contrário, retorna falso.
AndFileFilter- Fornece condicional e lógica em uma lista de filtros de arquivo. Retorna falso se algum filtro na lista retornar falso. Caso contrário, ele retorna verdadeiro.
Classes File Monitor
Classes de monitor de arquivo que estão sob org.apache.commons.io.monitorpacote, fornece controle para rastrear alterações em um arquivo ou pasta específica e permite executar ações de acordo com as alterações. A seguir estão alguns dos exemplos.
FileEntry- Fornece o estado de um arquivo ou diretório. Atributos de arquivo em um determinado momento.
FileAlterationObserver - Representa o estado dos arquivos abaixo de um diretório raiz, verifica o sistema de arquivos e notifica os ouvintes sobre a criação, alteração ou exclusão de eventos.
FileAlterationMonitor - Representa um encadeamento que gera um encadeamento de monitoramento, disparando qualquer FileAlterationObserver registrado em um intervalo especificado.
Classes comparadoras
Classes de monitoramento de arquivos em org.apache.commons.io.comparator pacote permite comparar e classificar arquivos e diretórios facilmente.
NameFileComparator - Compare os nomes de dois arquivos.
SizeFileComparator - Compare o tamanho de dois arquivos.
LastModifiedFileComparator - Compare as datas da última modificação de dois arquivos.
Aulas de fluxo
Existem várias implementações de InputStream sob o pacote org.apache.commons.io.input e de OutputStream sob o pacote org.apache.commons.io.output, para fazer tarefas úteis em fluxos. A seguir estão alguns dos exemplos.
NullOutputStream - Absorve todos os dados enviados com algum erro.
TeeOutputStream - Envia saída para dois fluxos.
ByteArrayOutputStream - Versão mais rápida da classe JDK.
CountingOutputStream - Conta o número de bytes passados pelo fluxo.
ProxyOutputStream - Altera as chamadas para fluxo de proxy.
LockableFileWriter - Um FileWriter para criar arquivos de bloqueio e permitir manipulação de bloqueio de arquivo de thread cruzado simples.