Spring Framework Search File in Java Recursively

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