Filter Files in Java

In this section, you will see how to filter files in java.

Filter Files in Java

In this section, you will see how to filter files in java.

Filter Files in Java

Filter Files in Java

     

Introduction

The Filter File Java example code provides the following functionalities:

  • Filtering the files depending on the file extension provided by the user
      
  • User provides the file extension and then program lists all the matching files found

Program accepts directory name and file extension from user and displays the files present in the directory.

Program begins with import statement java.io.*; package, which is required for any input/output operations.

Classes Defined in the program:

OnlyExt
The constructor of the class takes file extension as parameter and then prefix it with "*." and assign into the global variable ext. The OnlyExt class implements FilenameFilter interface, so we have to implement the abstract method accept( ) defined in the FilenameFilter interface. The accept( ) method tests if a specified file should be included in a file list.

FilterFiles: 
The FilterFiles contains the public static void main(String args[]), which is the entry point of our program. The program first accepts directory name and file extension from the user and creates the object of OnlyExt class passing file extension as constructor parameter.

Here is the code of the program :

import java.io.*;

  class OnlyExt implements FilenameFilter{

  String ext;

 

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


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

 
public class FilterFiles{
 
 
public static void main(String args[]) throws IOException{
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  System.out.println("Please enter the directory name : ");

  String dir = in.readLine();

  System.out.println("Please enter file type : ");

    String extn = in.readLine();
 
   
File f = new File(dir);

  FilenameFilter ff = new OnlyExt(extn);
  
 
String s[] = f.list(ff);


  for (int i = 0; i < s.length; i++){
 
  
System.out.println(s[i]);

  }
 
  
}

}

Download this example.