Using FilenameFilter

To limit the number of files returned by the list( ) method by filename pattern, or filter:


String[ ] list(FilenameFilter ffObj)

ffObj is an object of a class that implements the FilenameFilter interface. FilenameFilter defines only a single method, accept( ), which is called once for each file in a list. Its general form is:

boolean accept(File directory, String filename)

The accept( ) method returns true for files in the directory specified by directory that should be included in the list, and returns false for those files that should be excluded.

 
import java.io.File;
import java.io.FilenameFilter;

class ExtensionFilter implements FilenameFilter {
  String ext;

  public ExtensionFilter(String ext) {
    this.ext = "." + ext;
  }

  public boolean accept(File dir, String name) {
    return name.endsWith(ext);
  }
}

public class Main {
  public static void main(String args[]) {
    String dirname = "/java";
    File f1 = new File(dirname);
    FilenameFilter only = new ExtensionFilter("html");
    String s[] = f1.list(only);
    for (int i = 0; i < s.length; i++) {
      System.out.println(s[i]);
    }
  }
}
  
Home 
  Java Book 
    File Stream  

FilenameFilter:
  1. Using FilenameFilter
  2. implements FilenameFilter