In this section we will be showing instructions on how to delete a file in consideration with the file extension. Consider a scenario when the requirements is for us to delete all files with extension .log under a folder. This is very helpful knowledge especially during design of maintenance architecture in corporate scenario.

Delete files with file extension .log in a folder  using FileNameFilter

This is very easy we just have to find a way to list all files  with .log extension under a folder. This can be accomplished by method listFiles of File class under package. The listFiles as of JavaSe 7, is accepting a FileNameFileFilter. FilenameFilter is an interface which is used to filter filenames. Since it s an interface we are required to implement method accept(File dir, String name). Method accept returns a boolean which we can put logic in filtering the filename. Please see below for the source code that implements the FilenameFilter class.

package com.javatutorialhq.tutorial;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class DeleteFileWithExtension {

	 * This java sample code shows
	 * how to delete file with specific extension using FileNameFilter
	 * Property of
	 * All Rights Reserved
	 * Version 1.0
	 * 07/26/2012
	public static void main(String[] args) {
		File file = new File("C:\\temp\\files");
		//check first if supplied file name is a folder
			List listFile = new ArrayList<>();
			listFile = Arrays.asList(file.listFiles(new FilenameFilter() {
				public boolean accept(File dir, String name) {
					return name.toLowerCase().endsWith(".log");
			for(File f:listFile){
				System.out.println("Deleting " + f.getAbsolutePath());
			//Flagging down that the filename specified is not a directory
			System.out.println("file:"+file.getAbsolutePath()+" is not a directory");



Here is a sample output upon running the program

Deleting C:\temp\files\another.log
Deleting C:\temp\files\copy.log
Deleting C:\temp\files\logger.log
Deleting C:\temp\files\test1.log
Deleting C:\temp\files\tester.log