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.