You are on page 1of 3

/*

* To change this template, choose Tools | Templates


* and open the template in the editor.
*/
package directorysearch;
import java.io.File;
import java.util.ArrayList;
import javax.swing.JOptionPane;
/**
*
* @author Wajahat Karim
* Reg # 291
* NUST SEECS
*/
public class DirectorySearch
{
public static ArrayList<String> lstDirName = new ArrayList<String>();
public static ArrayList<String> lstFileName = new ArrayList<String>();
public static ArrayList<String> lstDirPath = new ArrayList<String>();
public static ArrayList<String> lstFilePath = new ArrayList<String>();
public static File[] rootDirFiles;

//Explore Directory Function


public static void fnExploreDir (File myDir)
{
File[] myDirFiles = myDir.listFiles();
for (int j=0; j<myDirFiles.length; j++)
{
//If it is Directory, then Expand it
if (myDirFiles[j].isDirectory() == true)
{
lstDirPath.add(myDirFiles[j].getAbsolutePath());
lstDirName.add(myDirFiles[j].getName());
System.out.println("Directory: " + myDirFiles[j].getAbsolutePath
());
fnExploreDir(myDirFiles[j]);
System.out.println();
}
//File
else
{
lstFilePath.add(myDirFiles[j].getAbsolutePath());
lstFileName.add(myDirFiles[j].getName());
System.out.println("File: " + myDirFiles[j].getAbsolutePath());
}
}
}

/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
// TODO code application logic here
//Get Root Directory from User
String sUserDir = JOptionPane.showInputDialog(null, "Enter Any Folder: "
, "E:\\RootDir");
File rootDir = new File(sUserDir);
//If Root is Directory
if (rootDir.isDirectory() == true)
{
lstDirPath.add(rootDir.getAbsolutePath());
lstDirName.add(rootDir.getName());
System.out.println("Welcome to "+rootDir.getAbsolutePath());
System.out.println();
System.out.println();
//List Files of Root
rootDirFiles = rootDir.listFiles();
//Traverse through each file/folder
for (int i=0; i<rootDirFiles.length; i++)
{
//If it is Directory, then Expand it
if (rootDirFiles[i].isDirectory() == true)
{
lstDirPath.add(rootDirFiles[i].getAbsolutePath());
lstDirName.add(rootDirFiles[i].getName());
System.out.println("Directory: " + rootDirFiles[i].getAbsolu
tePath());
fnExploreDir(rootDirFiles[i]);
System.out.println();
}
//If it is File
else
{
lstFilePath.add(rootDirFiles[i].getAbsolutePath());
lstFileName.add(rootDirFiles[i].getName());
System.out.println("File: " + rootDirFiles[i].getAbsolutePat
h());
}
}
}
//If it is a file
else
{
System.out.println("Root File: "+sUserDir);
}

//*********************************************************************/
/
System.out.println();
System.out.println();
System.out.println();
System.out.println("Finding Same Directories");
System.out.println();
System.out.println();
System.out.println("-------------");
//Searching Same Directories
int x=0, y=0;
for (String tempI : lstDirName)
{
System.out.println(tempI);
for (String tempJ : lstDirName)
{
if ( tempI.equals(tempJ) )
{
System.out.println(lstDirPath.get(y));
//System.out.println(tempJ);
}
y++;
}
System.out.println();
y = 0;
x++;
}

//*********************************************************************/
/
System.out.println();
System.out.println();
System.out.println();
System.out.println("Finding Same Files");
System.out.println();
System.out.println();
System.out.println("-------------");
//Searching Same Directories
x=0; y=0;
for (String tempI : lstFileName)
{
System.out.println(tempI);
for (String tempJ : lstFileName)
{
if ( tempI.equals(tempJ) )
{
System.out.println(lstFilePath.get(y));
//System.out.println(tempJ);
}
y++;
}
System.out.println();
y = 0;
x++;
}
}
}

You might also like