Java FileNameFilter

Java FileNameFilter
A função listfiles () em Java pode ser empregada para pesquisar os nomes de arquivos usando a interface FileNameFilter. As instâncias do arquivo em um local são retornadas se o listfiles () for chamado sem argumentos. Podemos optar por recuperar uma parte dessas instâncias se fornecermos um filtro como um argumento. Devemos definir a função aceit () para criar uma instância que herda o FileNameFilter. O caminho doméstico do arquivo é representado pela entidade dir e seu título pelo nome do arquivo. O arquivo é apresentado na coleta de instâncias de arquivo de chamada para listfiles () se aceita () produz verdadeiro. Caso contrário, a chamada para os arquivos não entregará o arquivo ().

Instale Java

Antes de começar com nosso exemplo Java, abrimos o aplicativo Shell da área de aplicação da máquina Linux. Isso ocorre porque usamos o aplicativo de console Shell para instalar o ambiente de tempo de execução do Java. Para sua instalação, é necessário usar o pacote "apt" com o privilégio "sudo" na instrução "instalar". Para a instalação do ambiente de tempo de execução do Java, use o nome do pacote "padrão-jre", conforme apresentado:

Exemplo

Usamos nosso primeiro exemplo Java para mostrar como uma interface FileNameFilter pode ser usada para listar todos os arquivos específicos do diretório especificado do nosso sistema Linux. Para isso, devemos ter alguns arquivos de tipo específico no diretório de trabalho. Primeiro, criamos um arquivo java chamado “Filtro.java ”que é usado para codificar. Depois disso, criamos dois arquivos de texto, olá.txt e novo.txt, respectivamente. Todos os três arquivos são criados com a consulta "Touch". Agora, o uso da instrução "LS" apresenta todos os três arquivos na pasta doméstico.

Começando com o primeiro código de exemplo Java, tornamos o mais simples possível. Começa com a importação dos principais pacotes de Java para utilizar o manuseio de arquivos. Nós importamos a classe de arquivo e ioexecção do Java.Pacote de IO, juntamente com a importação de sua interface FileNameFilter que são utilizados para obter uma lista de arquivos específicos. Primeiro, importando todos os pacotes necessários, criamos uma classe de demonstração "teste" e adicionamos a implementação principal da função. À medida que o programa inicia sua execução, o objeto de arquivo "FOBJ" é gerado usando a classe File () de um Java, levando o caminho do diretório doméstico como seu argumento para a função do construtor.

A interface filenamefilter () é usada aqui criando seu objeto "tf" que é usado para filtrar os nomes de arquivos. A função interna pública do tipo booleano "aceitar" está aqui para pesquisar e combinar os nomes de arquivos específicos. Ele usa o diretório e o nome de um arquivo a ser pesquisado em seus parâmetros da classe de arquivo. Enquanto os nomes de todos os padrões correspondentes são convertidos em minúsculos usando a função TolowerCase () e são salvos em uma variável de string "n". A declaração "se" é elenco para executar a coisa principal - verificando o sufixo do arquivo. Ele usa o valor variável "n" para corresponder ao seu fim com o padrão específico por meio da função "EndSwith" de Java.

Se os caracteres finais de um valor variável "n" corresponderem ao padrão de nome do arquivo especificado, ele retornará "true". Caso contrário, ele retorna falso. Nós especificamos o “.txt ”para verificar todos os arquivos de texto. Enquanto isso, criamos um objeto de matriz "LF" usando a classe File (). E armazenamos todos os arquivos correspondentes usando a função List Files () de um Java chamado pelo objeto de arquivo "FOBJ", passando o objeto de filtro de texto "TF". O loop "for" é inicializado até o final de uma matriz "LF" para cada arquivo "f". A instrução "se" verifica se o arquivo "f" é um diretório ou um arquivo simples por meio da função IsDirectory (). Exibe o caminho resultante de acordo com isso.

Para isso, utiliza a função println () de um “sistema.Class. Depois disso, usamos o sistema.fora.Declaração println () novamente para obter o caminho do nome para o arquivo usando a função getCanonicalPath (). Salvamos este arquivo Java antes do processo de execução.

Depois de executar o arquivo java para o “.padrões de arquivo txt ”, obtemos um total de 2 caminhos listados para os arquivos dos tipos de texto no diretório de trabalho doméstico.

Você também pode utilizar o mesmo método para corresponder e exibir os padrões de nome de arquivo correspondentes em uma pasta que não seja o diretório de trabalho atual. Digamos que temos os mesmos dois arquivos de texto na pasta Documentos do nosso sistema, de acordo com a consulta "LS".

Agora, você precisa atualizar o caminho para o diretório onde combinamos ou pesquisamos o padrão de nome do arquivo. Então, fornecemos o caminho para a pasta de documentos e salvamos.

Após a execução, ele exibe novamente o caminho para 2 arquivos de texto - Olá.txt e novo.TXT.

De uma maneira muito semelhante, você também pode procurar outros tipos de arquivo. Digamos que queremos procurar todos os “.arquivos java ”no diretório inicial do nosso sistema Linux. Substituir ".txt "com".Java".

A execução mostra o caminho para o arquivo java “Filtro.java ”em que estamos trabalhando.

Às vezes, o padrão que procuramos corresponde ao nome do diretório. Por exemplo, adicionamos o padrão "S" a ser pesquisado na pasta doméstico.

Em troca, a execução mostra os caminhos para as pastas em um diretório doméstico que contém "s" no fim deles.

Conclusão

Explicamos o uso da interface filenameFilter () de Java para filtrar todos os caminhos de arquivo que correspondem ao padrão específico em nosso artigo. Para isso, garantimos que o ambiente Java esteja totalmente configurado em nosso sistema operacional Linux. Também explicamos o exemplo java usando a interface FileNameFilter para criar um objeto de filtro para filtrar os caminhos de arquivo específicos que contêm um padrão. Usando este exemplo, filtramos os arquivos de texto, arquivos Java e diretórios específicos do diretório de trabalho da casa e as outras pastas também.