Java filenamefilter

Java filenamefilter
ListFiles () -funksjonen i Java kan brukes for å søke på filnavnene ved å bruke FilEnameFilter -grensesnittet. Filforekomstene på et sted returneres hvis ListFiles () påberopes uten argumenter. Vi kan velge å hente en del av disse tilfellene hvis vi gir et filter som et argument. Vi må definere aksepten () -funksjonen for å lage en forekomst som arver filenamefilteren. Filens hjemmebane er representert av DIR -enheten og tittelen ved filnavnet. Filen presenteres i samlingen av filforekomster fra samtale til listfiles () hvis aksepterer () gir sann. Ellers vil ikke samtalen til Listfiles levere filen ().

Installer Java

Før vi begynner med Java -eksemplet vårt, åpner vi Shell -applikasjonen fra applikasjonsområdet til Linux -maskinen. Dette er fordi vi bruker Shell Console -applikasjonen for å installere Java Runtime -miljøet. For installasjonen er det nødvendig å bruke "apt" -pakken med "sudo" -privilegiet i "install" -instruksjonen. For installasjon av Java Runtime Environment, bruk pakkenavnet “Standard-JRE” som presentert:

Eksempel

Vi bruker vårt første Java -eksempel for å vise hvordan et filnavnfiltergrensesnitt kan brukes til å liste opp alle de spesifikke filene fra den spesifiserte katalogen til Linux -systemet vårt. For dette må vi ha noen spesifikke typefiler i arbeidskatalogen. Først lager vi en Java -fil som heter “Filter.java ”som brukes til koding. Etter dette lager vi to tekstfiler, hei.txt og ny.henholdsvis txt. Alle tre filene er opprettet med "Touch" -spørsmålet. Nå presenterer bruken av "LS" -instruksjonen alle tre filene i hjemmemappen.

Fra og med den første Java -eksempelkoden, gjør vi det så enkelt som mulig. Det starter med importen av Javas hovedpakker for å bruke filhåndteringen. Vi importerer filen og iOexecption -klassen til Java.IO -pakken sammen med importen av dets filnavnfiltergrensesnitt som brukes til å få en liste over spesifikke filer. For det første, import av alle nødvendige pakker, oppretter vi en demo "test" -klasse og legger til Main () -funksjonsimplementeringen til den. Når programmet starter utførelsen, genereres filobjektet “FOBJ”.

FilEnameFilter () -grensesnittet brukes her ved å lage objektet "TF" som brukes til å filtrere filnavnene. Den boolske typen offentlige innebygde funksjonen "aksepterer" er her for å søke og samsvare med de spesifikke filnavnene. Den bruker katalogen og navnet på en fil som skal søkes i parametrene fra filklassen. Mens navnene på alle de matchede mønstrene konverteres til små bokstaver ved bruk av TolowerCase -funksjonen og lagres i en strengvariabel “N”. "IF" -uttalelsen er avgitt for å utføre det viktigste - sjekk for filsuffikset. Den bruker den variable “n” -verdien for å matche slutten med det spesifikke mønsteret via “Endswith” -funksjonen til Java.

Hvis sluttkarakterene til en variabel “n” verdiskamp med det spesifiserte filnavnmønsteret, returnerer det “True”. Ellers returnerer det falskt. Vi spesifiserer “.txt ”for å se etter alle tekstfilene. I mellomtiden oppretter vi et array -objekt "LF" ved hjelp av filen () -klassen. Og vi lagrer alle de matchede filene i den ved hjelp av listefilene () -funksjonen til en Java som kalles av filobjektet “FOBJ” ved å passere tekstfilterobjektet “TF”. "For" -sløyfen initialiseres til slutten av en matrise "LF" for hver fil "F". "IF" -uttalelsen sjekker om filen "F" er en katalog eller en enkel fil via ISDirectory () -funksjonen. Den viser den resulterende banen i henhold til den.

For det bruker den println () -funksjonen til et “system.ut "-klassen først i" if "-uttalelsen for å vise" katalogen "eller" filen ". Etter dette bruker vi systemet.ute.println () uttalelse igjen for å få navneveien til filen ved hjelp av getCanonicalPath () -funksjonen i den. Vi lagrer denne Java -filen før utførelsesprosessen.

Etter å ha utført Java -filen for “.txt ”filmønstre, vi får totalt to stier som er oppført for filene med teksttyper i hjemmets arbeidskatalog.

Du kan også bruke den samme metoden for å matche og vise de matchede filnavnmønstrene i en annen mappe enn den gjeldende arbeidskatalogen. La oss si, vi har de samme to tekstfilene i dokumenter -mappen i systemet vårt i henhold til "LS" -spørsmålet.

Nå må du oppdatere banen til katalogen der vi matcher eller søker på filnavnmønsteret. Så vi gir banen til dokumentermappen og lagrer den.

Ved utførelse viser den igjen banen til 2 tekstfiler - hei.txt og ny.tekst.

På en veldig lik måte kan du også søke etter andre filtyper. La oss si, vi vil søke etter alle “.Java ”filer i hjemmekatalogen til vårt Linux -system. Erstatte ".txt ”med“.Java ”.

Utførelsen viser banen til Java -filen “Filter.Java ”som vi har jobbet med.

Noen ganger samsvarer mønsteret som vi søker etter katalognavnet. For eksempel legger vi til "S" -mønsteret som skal søkes i hjemmemappen.

Til gjengjeld viser utførelsen banene til mappene i en hjemmekatalog som inneholder "S" på slutten.

Konklusjon

Vi forklarte bruken av FilEnameFilter () -grensesnittet til Java for å filtrere alle filstiene som samsvarer med det spesifikke mønsteret i artikkelen vår. For dette sørget vi for at Java -miljøet er fullstendig konfigurert i vårt Linux -operativsystem. Vi forklarte også Java -eksemplet ved å bruke FilenameFilter -grensesnittet for å lage et filterobjekt for å filtrere ut de spesifikke filstiene som inneholder et mønster. Ved å bruke dette eksemplet filtrerte vi tekstfilene, Java -filene og spesifikke kataloger fra hjemmearbeidskatalogen og de andre mappene.