BeginnersBook

  • Home
  • Java
    • Java OOPs
    • Java Collections
    • Java Examples
  • C
    • C Examples
  • C++
    • C++ Examples
  • DBMS
  • Computer Network
  • Python
    • Python Examples
  • More…
    • jQuery
    • Kotlin
    • WordPress
    • SEO
    • JSON
    • JSP
    • JSTL
    • Servlet
    • MongoDB
    • XML
    • Perl

Java – Find files with given extension

Last Updated: September 11, 2022 by Chaitanya Singh | Filed Under: java

In this tutorial, we will see how to find all the files with certain extensions in the specified directory.

Program: Searching all files with “.png” extension

In this program, we are searching all “.png” files in the “Documents” directory(folder). I have placed three files Image1.png, Image2.png, Image3.png in the Documents directory.

Similarly, we can search files with the other extensions like “.jpeg”,”jpg”,”.xml”,”.txt” etc.

package com.beginnersbook;
import java.io.*;

public class FindFilesWithThisExtn {
	//specify the path (folder) where you want to search files
	private static final String fileLocation = "/Users/chaitanyasingh/Documents";
	
	//extension you want to search for e.g. .png, .jpeg, .xml etc
	private static final String searchThisExtn = ".png";

	public static void main(String args[]) {
		FindFilesWithThisExtn obj = new FindFilesWithThisExtn();
		obj.listFiles(fileLocation, searchThisExtn);
	}

	public void listFiles(String loc, String extn) {

		SearchFiles files = new SearchFiles(extn);

		File folder = new File(loc);

		if(folder.isDirectory()==false){
			System.out.println("Folder does not exists: " + fileLocation);
			return;
		}

		String[] list = folder.list(files);

		if (list.length == 0) {
			System.out.println("There are no files with " + extn + " Extension");
			return;
		}

		for (String file : list) {
			String temp = new StringBuffer(fileLocation).append(File.separator)
					.append(file).toString();
			System.out.println("file : " + temp);
		}
	}

	public class SearchFiles implements FilenameFilter {

		private String ext;

		public SearchFiles(String ext) {
			this.ext = ext;
		}
		
		@Override
		public boolean accept(File loc, String name) {
			if(name.lastIndexOf('.')>0)
            {
               // get last index for '.' 
               int lastIndex = name.lastIndexOf('.');
               
               // get extension
               String str = name.substring(lastIndex);
               
               // matching extension 
               if(str.equalsIgnoreCase(ext))
               {
                  return true;
               }
            }
            return false;
			
		}
	}
}

Output:

file : /Users/chaitanyasingh/Documents/Image1.png
file : /Users/chaitanyasingh/Documents/Image2.png
file : /Users/chaitanyasingh/Documents/Image3.png

Top Related Articles:

  1. Try Catch in Java – Exception handling
  2. Java – How null works with StringBuffer
  3. How to get the last modified date of a file in java
  4. How to check Java Version using Java Program
  5. Instance Variables in Java – Definition and Usage

Tags: Java-IO

About the Author

I have 15 years of experience in the IT industry, working with renowned multinational corporations. Additionally, I have dedicated over a decade to teaching, allowing me to refine my skills in delivering information in a simple and easily understandable manner.

– Chaitanya

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Java Tutorial

Java Introduction

  • Java Index
  • Java Introduction
  • History of Java
  • Features of Java
  • C++ vs Java
  • JDK vs JRE vs JVM
  • JVM - Java Virtual Machine
  • First Java Program
  • Variables
  • Data Types
  • Operators

Java Flow Control

  • Java If-else
  • Java Switch-Case
  • Java For loop
  • Java while loop
  • Java do-while loop
  • Continue statement
  • break statement

Java Arrays

  • Java Arrays

OOPs Concepts

  • OOPs Concepts
  • Constructor
  • Java String
  • Static keyword
  • Inheritance
  • Types of inheritance
  • Aggregation
  • Association
  • Super Keyword
  • Method overloading
  • Method overriding
  • Overloading vs Overriding
  • Polymorphism
  • Types of polymorphism
  • Static and dynamic binding
  • Abstract class and methods
  • Interface
  • Abstract class vs interface
  • Encapsulation
  • Packages
  • Access modifiers
  • Garbage Collection
  • Inner classes
  • Static import
  • Static constructor

Java Exception Handling

  • Exception handling
  • Java try-catch
  • Java throw
  • Java throws
  • Checked and Unchecked Exceptions
  • Jav try catch finally
  • Exception Examples
  • Exception Propagation

Collections Framework

  • Collections in Java
  • Java ArrayList
  • Java LinkedList
  • Java Vector
  • Java HashSet
  • Java LinkedHashSet
  • Java TreeSet
  • Java HashMap
  • Java TreeMap
  • Java LinkedHashMap
  • Java Queue
  • Java PriorityQueue
  • Java Deque
  • Comparable interface
  • Comparator interface
  • Collections Interview Questions

MORE ...

  • Java Scanner Class
  • Java 8 Features
  • Java 9 Features
  • Java Conversion
  • Java Date
  • Java Multithreading
  • Java I/O
  • Java Serialization
  • Java Regex
  • Java AWT
  • Java Swing
  • Java Enum
  • Java Annotations
  • Java main method
  • Java Interview Q

Copyright © 2012 – 2025 BeginnersBook . Privacy Policy . Sitemap