Program to demonstrate how to search for files in a directory based on extension using Apache commons-io API in Java.
Output of the program :
package com.hubberspot.apache.commons.examples;
import java.io.File;
import java.util.Collection;
import java.util.Iterator;
import org.apache.commons.io.FileUtils;
public class RecursiveFileSearch {
public static void main(String[] args) {
// Create a File object and pass path of the directory
// where files need to be searched
File file = new File("D:/files");
try {
// an array of files extensions to be searched in
// the file created above.
String[] extOfTheFiles = {"jar", "java", "pdf"};
// FileUtils class of org.apache.commons.io
// has a method by name listFiles() which takes in
// three parameters the directory where files need to be
// searched , extension of the files to be searched and
// boolean value to make a recursive search for the files
// The method returns back a collection of File objects
Collection< File > listOfFiles= FileUtils.listFiles(file, extOfTheFiles, true);
// Create a iterator for the collection of files
Iterator< File > fileIterator = listOfFiles.iterator();
// loop over each file in the collection
while(fileIterator.hasNext()) {
File searchedFile = fileIterator.next();
// print the name of the file on the console
System.out.println(searchedFile.getAbsolutePath());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Output of the program :
