Here is the Java Code to search for a file recursively through the code.
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class FileSearch {
static List<String> result = new ArrayList<String>();
public static void main(String[] args) {
String dirc = "C:\\Users\\naved.alam\\workspace\\Test";
String fName = "FileSearch.java";
FileSearch.search(new File(dirc),fName);
int size = result.size();
if(size ==0){
System.out.println("\nNo File found.");
}else{
System.out.println("\nFound " + size + " File:");
for (String matched : result){
System.out.println("File : " + matched);
}
}
}
private static void search(File directory,String fileName) {
if (directory.isDirectory()) {
System.out.println("Searching directory..." + directory.getAbsoluteFile());
//Check for permission
if (directory.canRead()) {
for (File temp : directory.listFiles()) {
if (temp.isDirectory())
search(temp,fileName);
else if (fileName.equals(temp.getName()))
result.add(temp.getAbsoluteFile().toString());
}
}
else
System.out.println(directory.getAbsoluteFile() + ": Permission Denied");
}
}
}
A sample run is shown below:
Searching directory...C:\Users\naved.alam\workspace\Test Searching directory...C:\Users\naved.alam\workspace\Test\.settings Searching directory...C:\Users\naved.alam\workspace\Test\backup Searching directory...C:\Users\naved.alam\workspace\Test\bin Searching directory...C:\Users\naved.alam\workspace\Test\bin\com Searching directory...C:\Users\naved.alam\workspace\Test\bin\com\example Searching directory...C:\Users\naved.alam\workspace\Test\src Searching directory...C:\Users\naved.alam\workspace\Test\src\com Searching directory...C:\Users\naved.alam\workspace\Test\src\com\example Found 2 File: File : C:\Users\naved.alam\workspace\Test\backup\FileSearch.java File : C:\Users\naved.alam\workspace\Test\src\com\example\FileSearch.javaAbove code can be modified to search for a file matching certain pattern or expression and can be use to integrate advance file searching functionality in an application.
No comments:
Post a Comment