You can use the File class and the FilenameFilter interface to search for files in Java. The FilenameFilter interface is used to filter files from the file list. This interface has a boolean accept(File dir, String name) method, which is used to find the required file from the list returned by the java.io.File.list() method. This method is very useful when we want to find files with a specific extension in a folder.
First Approach
Code Implementation
// Java Program to Search for a File in a Directory import java.io.*; // MyFilenameFilter class implements FilenameFilter // interface class MyFilenameFilter implements FilenameFilter { String initials; // constructor to initialize object public MyFilenameFilter(String initials) { this.initials = initials; } // overriding the accept method of FilenameFilter // interface public boolean accept(File dir, String name) { return name.startsWith(initials); } } public class Main { public static void main(String[] args) { // Create an object of the File class // Replace the file path with path of the directory File directory = new File("/home/user/"); // Create an object of Class MyFilenameFilter // Constructor with name of file which is being // searched MyFilenameFilter filter = new MyFilenameFilter("file.cpp"); // store all names with same name // with/without extension String[] flist = directory.list(filter); // Empty array if (flist == null) { System.out.println( "Empty directory or directory does not exists."); } else { // Print all files with same name in directory // as provided in object of MyFilenameFilter // class for (int i = 0; i < flist.length; i++) { System.out.println(flist[i]+" found"); } } } }
Output
file.cpp found
Second Approach
Code Implementation
// Java Program to Search for a File in a Directory import java.io.File; public class Main { public static void main(String[] argv) throws Exception { // Create an object of the File class // Replace the file path with path of the directory File directory = new File("/home/user/"); // store all names with same name // with/without extension String[] flist = directory.list(); int flag = 0; if (flist == null) { System.out.println("Empty directory."); } else { // Linear search in the array for (int i = 0; i < flist.length; i++) { String filename = flist[i]; if (filename.equalsIgnoreCase("file.cpp")) { System.out.println(filename + " found"); flag = 1; } } } if (flag == 0) { System.out.println("File Not Found"); } } }
Output
file.cpp found
Australia
UK
UAE
Singapore
Canada
New
Zealand
Malaysia
USA
India
South
Africa
Ireland
Saudi
Arab
Qatar
Kuwait
Hongkong
Copyright 2016-2023 www.programmingshark.com - All Rights Reserved.
Disclaimer : Any type of help and guidance service given by us is just for reference purpose. We never ask any of our clients to submit our solution guide as it is, anywhere.