Java FileNameFilter

Java FileNameFilter
La funzione ListFiles () in Java può essere utilizzata per cercare i nomi dei file utilizzando l'interfaccia FileNameFilter. Le istanze del file in una posizione vengono restituite se l'elenco () viene invocato senza argomenti. Possiamo scegliere di recuperare una parte di tali istanze se forniamo un filtro come argomento. Dobbiamo definire la funzione accetta () per creare un'istanza che eredita il fileNameFilter. Il percorso di casa del file è rappresentato dall'entità dir e dal titolo dal nome file. Il file è presentato nella raccolta di istanze di file fuori da chiamata a listfiles () se accetta () produce vero. Altrimenti, la chiamata a ListFiles non consegnerà il file ().

Installa Java

Prima di iniziare con il nostro esempio Java, apriamo l'applicazione Shell dall'area dell'applicazione della macchina Linux. Questo perché utilizziamo l'applicazione della console Shell per installare l'ambiente di runtime Java. Per la sua installazione, è necessario utilizzare il pacchetto "Apt" con il privilegio "Sudo" nell'istruzione "Installa". Per l'installazione dell'ambiente di runtime Java, utilizzare il nome del pacchetto "Default-Jre" come presentato:

Esempio

Usiamo il nostro primo esempio Java per mostrare come un'interfaccia FileNameFilter può essere utilizzata per elencare tutti i file specifici della directory specificata del nostro sistema Linux. Per questo, dobbiamo avere alcuni file di tipo specifici nella directory di lavoro. Innanzitutto, creiamo un file Java chiamato "Filtro.Java "che viene utilizzato per la codifica. Dopo questo, creiamo due file di testo, ciao.txt e nuovo.txt, rispettivamente. Tutti e tre i file vengono creati con la query "touch". Ora, l'uso delle istruzioni "LS" presenta tutti e tre i file nella cartella domestica.

A partire dal primo codice di esempio Java, lo rendiamo il più semplice possibile. Si inizia con l'importazione dei pacchetti principali di Java per utilizzare la gestione dei file. Importiamo il file e la classe Ioexecption di Java.Pacchetto IO insieme all'importazione della sua interfaccia FileNameFilter utilizzata per ottenere un elenco di file specifici. Innanzitutto, importando tutti i pacchetti richiesti, creiamo una classe demo "test" e aggiungiamo l'implementazione della funzione principale (). Man mano che il programma avvia la sua esecuzione, l'oggetto del file "FOBJ" viene generato usando la classe File () di un Java, portando il percorso della directory Home come argomento alla funzione del costruttore.

L'interfaccia FileNameFilter () viene utilizzata qui creando il suo oggetto "TF" che viene utilizzato per filtrare i nomi dei file. La funzione integrata pubblica di tipo booleano "accetta" è qui per cercare e abbinare i nomi dei file specifici. Utilizza la directory e il nome di un file da cercare nei suoi parametri dalla classe file. Mentre i nomi di tutti i modelli abbinati vengono convertiti in minuscolo usando la funzione tolowercase () e vengono salvati in una variabile stringa "N". L'istruzione "if" è castoff per eseguire la cosa principale: verificare il suffisso del file. Utilizza il valore "N" variabile per abbinare la sua estremità con il modello specifico tramite la funzione "endswith" di Java.

Se i caratteri finali di una variabile valore "N" corrispondono al modello di nome file specificato, restituisce "True". Altrimenti, restituisce falso. Specifichiamo il ".txt "per verificare tutti i file di testo. Nel frattempo, creiamo un oggetto array "LF" usando la classe File (). E archiviamo tutti i file abbinati in esso utilizzando la funzione Elenco file () di un Java che viene chiamato dall'oggetto file "FOBJ" passando l'oggetto filtro di testo "TF". Il ciclo "per" viene inizializzato fino alla fine di un array "LF" per ogni file "F". L'istruzione "if" controlla se il file "f" è una directory o un semplice file tramite la funzione isdirectory (). Visualizza il percorso risultante in base a quello.

Per questo, utilizza la funzione println () di un "sistema.Classe fuori "prima nell'istruzione" if "per visualizzare la" directory "o" file ". Dopo questo, utilizziamo il sistema.fuori.Dichiarazione di println () di nuovo per ottenere il percorso del nome al file utilizzando la funzione getCanonicalpath () in esso. Salviamo questo file Java prima del processo di esecuzione.

Dopo aver eseguito il file Java per ".TXT ”Modelli di file, otteniamo un totale di 2 percorsi elencati per i file dei tipi di testo nella directory di lavoro domestica.

Puoi anche utilizzare lo stesso metodo per abbinare e visualizzare i modelli di nome file abbinati all'interno di una cartella diversa dalla directory di lavoro corrente. Diciamo che abbiamo gli stessi due file di testo nella cartella dei documenti del nostro sistema secondo la query "LS".

Ora, devi aggiornare il percorso alla directory in cui abbiniamo o cerchiamo il modello di nome file. Quindi, forniamo il percorso alla cartella dei documenti e lo salviamo.

All'esecuzione, visualizza di nuovo il percorso di 2 file di testo - Ciao.txt e nuovo.TXT.

In un modo molto simile, puoi anche cercare altri tipi di file. Diciamo, vogliamo cercare tutto ".I file java "nella home directory del nostro sistema Linux. Sostituire ".txt "con".Giava".

L'esecuzione mostra il percorso del file java "filtro.Java "su cui abbiamo lavorato.

A volte, il modello che cerchiamo corrisponde al nome della directory. Ad esempio, aggiungiamo il modello "s" da cercare nella cartella domestica.

In cambio, l'esecuzione mostra i percorsi delle cartelle in una home directory che contiene "s" alla fine.

Conclusione

Abbiamo spiegato l'uso dell'interfaccia FileNameFilter () di Java per filtrare tutti i percorsi di file che corrispondono al modello specifico nel nostro articolo. Per questo, ci siamo assicurati che l'ambiente Java sia completamente configurato nel nostro sistema operativo Linux. Abbiamo anche spiegato l'esempio Java utilizzando l'interfaccia FileNameFilter per creare un oggetto Filtro per filtrare i percorsi specifici del file contenenti uno schema. Usando questo esempio, abbiamo filtrato i file di testo, i file Java e le directory specifiche della directory di lavoro della casa e anche le altre cartelle.