FilenameFilter är ett gränssnitt i JavaSW som används för att filtrera filnamn, till exempel de som returneras från ett samtal till ett Filobjekts listFiles () – metod. Om listFiles () anropas utan parametrar returneras alla filobjekt i en katalog. Om vi passerar i ett filter som en parameter kan vi selektivt returnera en delmängd av dessa objekt.
att skapa ett objekt som implementerar FilenameFilter kräver att vi implementerar metoden accept(File dir, String name). Dir-objektet är filens överordnade katalog och namnet är namnet på filen. Om accept () returnerar true, kommer filen att returneras i arrayen av filobjekt från samtalet till listFiles (). Om accept () returnerar false returneras inte filen av anropet till listFiles ().
textfilterobjektet i DirectoryContents returnerar true endast om ett filobjekt slutar i .txt. Som ett resultat avvisar den alla andra fil-och katalognamn. Lägg märke till att samtalet till f.listFiles() passerar textfiltret som ett argument.
DirectoryContents.java
exekvera DirectoryContents resulterar i följande konsolutmatning. Även om andra filer och kataloger finns i C:\projects\workspace\testing\, bara .txt-filer visas i resultaten.
file:C:\projects\workspace\testing\file1.txt file:C:\projects\workspace\testing\file2.txt