devxlogo

Use a Filter to Retrieve a Specific Subset of Files in a Directory

Use a Filter to Retrieve a Specific Subset of Files in a Directory

In Java, File.list() lists all the files in a directory. However, rather than listing all the files and then discarding unnecessary files in your code, this tip will show you how to use a filter to retrieve a specific subset of files.

java.io.FilenameFilter is an interface which can be used to get only that set of files that match a specific criteria. Implement this interface to provide your logic of filtering:

public class FileExtensionFilter implements FilenameFilter{   private String ext="*";   public FileExtensionFilter(String ext){     this.ext = ext;   }   public boolean accept(File dir, String name){     if (name.endsWith(ext))       return true;     return false;   }}

To use this filter in your code:

File f = new File("C:\sample");FileExtensionFilter filter = new FileExtensionFilter(".java");String[] contents = f.list(filter);

This example returns only those files with a .java extension.

devx-admin

Share the Post: