import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class FileSearcher {
/**
*
* @param match - partial for full file name to search sd for
* @return List of files that contain the match were looking for
*/
public static List<File> searchFullSDCard(String match)
{
List<File> matches = new ArrayList<File>();
File f = new File("/sdcard/");
findMatch(matches,f,match);
return matches;
}
/**
*
* @param match partial for full file name to search sd for
* @param dir Starting directory
* <pre> Note: Starting directory must be on the SD Card!</pre>
* @return List of files that contain the match were looking for
*/
public static List<File>searchFromDirectory(String match,File dir)
{
List<File> matches = new ArrayList<File>();
findMatch(matches,dir,match);
return matches;
}
private static void findMatch(List<File>matches,File curDir,String match)
{
File[]files = curDir.listFiles();
if(files==null)
return;
for(File f: files)
{
if(f.isDirectory())
findMatch(matches,f,match);
else
{
if(f.getName().toLowerCase().contains(match.toLowerCase()))
matches.add(f);
}
}
}
}
Post a Comment