How to search a directory with file extensions in Java?



Following example prints the files in a directory based on the extensions −

Example

import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.stream.Stream; public class Demo {    public static void main(String[] args) throws IOException {       Stream<Path> path = Files.walk(Paths.get("D:\ExampleDirectory"));       System.out.println("List of PDF files:");       path = path.filter(var -> var.toString().endsWith(".pdf"));       path.forEach(System.out::println);             path = Files.walk(Paths.get("D:\ExampleDirectory"));       System.out.println("List of JPG files:");       path = path.filter(var -> var.toString().endsWith(".jpg"));       path.forEach(System.out::println);           path = Files.walk(Paths.get("D:\ExampleDirectory"));       System.out.println("List of text files:");       path = path.filter(var -> var.toString().endsWith(".txt"));       path.forEach(System.out::println);             path = Files.walk(Paths.get("D:\ExampleDirectory"));       System.out.println("List of word files:");       path = path.filter(var -> var.toString().endsWith(".docx"));       path.forEach(System.out::println);           } }

Output

List of PDF files: D:\ExampleDirectory\demo1.pdf D:\ExampleDirectory\demo2.pdf List of JPG files: D:\ExampleDirectory\sample_jpeg1.jpg D:\ExampleDirectory\sample_jpeg2.jpg List of text files: D:\ExampleDirectory\sample1.txt D:\ExampleDirectory\sample2.txt D:\ExampleDirectory\sample3.txt List of word files: D:\ExampleDirectory\test1.docx D:\ExampleDirectory\test2.docx

Following example prints the names of the PDF files in a directory based on the extensions −

Example

import java.io.File; import java.io.FilenameFilter; import java.io.IOException; public class MyExample{    public static void main(String args[]) throws IOException {     //Creating a File object for directory     File directoryPath = new File("D:\ExampleDirectory");     //Creating filter for jpg files     FilenameFilter jpgFilefilter = new FilenameFilter(){          public boolean accept(File dir, String name) {             String lowercaseName = name.toLowerCase();             if (lowercaseName.endsWith(".pdf")) {                return true;             } else {                return false;             }          }       };               String imageFilesList[] = directoryPath.list(jpgFilefilter);       System.out.println("List of the jpeg files in the specified directory:");         for(String fileName : imageFilesList) {          System.out.println(fileName);       }      } }

Output

List of the jpeg files in the specified directory: demo1.pdf demo2.pdf
Updated on: 2021-02-08T11:21:27+05:30

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements