How to List Files of a Certain Type using a FilenameFilter


This example shows how to list files with a certain extension using the java.io.FilenameFilter interface.
To list files of a certain type (with a certain extension), create an instance of type FilenameFilter and override its accept method.
The accept method of the FilenameFilter takes a File object and a filename as parameters. Use the filename parameter to check the extension and if it's a file that you want to include, return true, otherwise false.

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

public class FileUtil {

  public void listFiles(String dir) {

    File directory = new File(dir);

    if (!directory.isDirectory()) {
      System.out.println("No directory provided");
      return;
    }

    //create a FilenameFilter and override its accept-method
    FilenameFilter filefilter = new FilenameFilter() {

      public boolean accept(File dir, String name) {
        //if the file extension is .txt return true, else false
        return name.endsWith(".txt");
      }
    };

    String[] filenames = directory.list(filefilter);

    for (String name : filenames) {
      System.out.println(name);
    }
  }

  public static void main(String[] args) {
    FileUtil fileutil = new FileUtil();
    fileutil.listFiles("C:\\\\temp");
  }
}

Do you know your Java?
Take a Ten-Question-Java-Quiz!

Bookmark and Share




Need help with your Java code? It's secure and confidential.
This is how it works:
Send a detailed description of what you need help with, the more details the better. Also provide a deadline for when it has to be finished. More time means better chance of putting your request into the schedule.

If the request is serious you will shortly receive an email with the price, to which you have to respond if you accept.

Once you have accepted, the work will begin on developing your code by an experienced Java developer. When the code is finished a link to a secure payment will be sent to you.

The source code is then sent to you once the payment is completed.

IMPORTANT! The request needs to be very detailed, else it may be ignored.


Write your detailed request here:

E-mail address: