An example recursive logic on searching file like windows search in Java. This logic is much similar to the logic used in deleting folder in Java
Search File in Java - Program
import java.io.*;
import java.util.*;
class JavaSearchFile
{
static Vector<File> v;
public static void main(String args[]) throws Exception
{
// Create a file pointing a folder
File f=new File(args[0]);
// Create a vector of found files
v=new Vector<File>();
// Print the search starting
System.out.println("\nStarting search....\n-------------------------\n");
// Go search args[1] (2nd arg) in dir f
search(f,args[1]);
// Print the found files
print();
}
public static void search(File file,String name)
{
// Print where the search is going on..
System.out.println("Searching in "+file.getAbsolutePath());
// Check if file is directory/folder
if(file.isDirectory())
{
if(file.getName().contains(name))
{
// Add the file to found files vector
v.addElement(file);
}
// Get all files in the folder
File[] files=file.listFiles();
for(int i=0;i<files.length;i++)
{
try
{
if(files[i].isDirectory())
{
// Go search for files if dir
search(files[i],name);
}
else
{
if(files[i].getName().toLowerCase().contains(name.toLowerCase()))
{
// Add the found file to vector
v.addElement(files[i]);
}
}
}catch(Exception e){}
}
}
}
public static void print()
{
// Create a file array of v size
File[] f=new File[v.size()];
// Copy vector data into f
v.copyInto(f);
// Print the results
System.out.println("\nResults");
System.out.println("------------------------------------------");
// Loop till end of size
for(File k:f)
{
// Print the file path
System.out.println("Found at "+k.getAbsolutePath());
}
}
}
Sample Output
Starting search....
-------------------------
Searching in f:\songs
Searching in f:\songs\A R Rahman - Superheavy
Searching in f:\songs\Agneepath
Searching in f:\songs\Aisha
Searching in f:\songs\Alex Clare
Searching in f:\songs\Anandam
Searching in f:\songs\Anandam\covers
Searching in f:\songs\Andala Rakshasi
Searching in f:\songs\Anjaana Anjaani
Searching in f:\songs\Annadammula Anubandham
Searching in f:\songs\Annadammula Anubandham\artwork
Searching in f:\songs\Awaara
Searching in f:\songs\Barfi!
Searching in f:\songs\Bharateyudu
Searching in f:\songs\Bodyguard
Searching in f:\songs\Brothers (2012)
Searching in f:\songs\Cameraman Ganga Tho Rambabu
Searching in f:\songs\Cheli
Searching in f:\songs\Dabangg 2
Searching in f:\songs\Damarukam
Searching in f:\songs\Delhi 6
Searching in f:\songs\Devudu Chesina Manushulu
Searching in f:\songs\Dhenikaina Ready
Searching in f:\songs\Emraan Hits
Searching in f:\songs\Emraan Hits\covers
Searching in f:\songs\English
Searching in f:\songs\Enrique Iglesias
Searching in f:\songs\fifa
Searching in f:\songs\Flo Rida
Searching in f:\songs\Fun
Searching in f:\songs\Gabbar Singh
Searching in f:\songs\Gangnam Style (?????)
Searching in f:\songs\Ghajini
Searching in f:\songs\Ghatikudu
Searching in f:\songs\Gotye
Searching in f:\songs\i hate love stories
Searching in f:\songs\Jaane Tu Ya Jaane Na
Searching in f:\songs\Jab Tak Hai Jaan
Searching in f:\songs\Jhootha Hi Sahi
Searching in f:\songs\Johnny
Searching in f:\songs\Julayi
Searching in f:\songs\Justin Bieber
Searching in f:\songs\KIKK
Searching in f:\songs\Krishnam Vande Jagadgurum
Searching in f:\songs\Linkin Park - Project Revolution
Searching in f:\songs\Love To Love
Searching in f:\songs\Love To Love\Love To Love (2012) 128Kbps
Searching in f:\songs\Maroon 5
Searching in f:\songs\Melody
Searching in f:\songs\Mr. Perfect
Searching in f:\songs\Nene Ambani
Searching in f:\songs\Ninnu Choosthe Love Vasthundi
Searching in f:\songs\Nirantharam Nee Oohale
Searching in f:\songs\Ok Ok
Searching in f:\songs\Orange
Searching in f:\songs\Orange\artwork
Searching in f:\songs\Other Stuff
Searching in f:\songs\Pitbull
Searching in f:\songs\Power
Searching in f:\songs\Prema Desam
Searching in f:\songs\Premikudu
Searching in f:\songs\Premikula Roju
Searching in f:\songs\Raghavan
Searching in f:\songs\Routine Love Story
Searching in f:\songs\Sakhi
Searching in f:\songs\Sarocharu
Searching in f:\songs\Surya Krishnan
Searching in f:\songs\Surya Krishnan\Surya SO Krishnan-320kbps
Searching in f:\songs\Talaash
Searching in f:\songs\Taylor Swift
Searching in f:\songs\Teri Meri Kahaani
Searching in f:\songs\The Official UK Top 40 Singles Chart 15-07-2012
Searching in f:\songs\Thuppakki
Searching in f:\songs\Unnale Unnale
Searching in f:\songs\Vaasu_2002_320VBR
Searching in f:\songs\Vaasu_2002_320VBR\Vaasu (2002) 320 VBR
Searching in f:\songs\Vicky Donor
Searching in f:\songs\Vicky.Donor
Searching in f:\songs\Vilan
Searching in f:\songs\Viswaroopam
Searching in f:\songs\Westlife
Searching in f:\songs\Yeto Vellipoyindhi Manasu
Results
------------------------------------------
Found at f:\songs\English\Whistle.mp3
Found at f:\songs\The Official UK Top 40 Singles Chart 15-07-2012\06 Flo Rida -
Whistle.mp3