I have a method which gets files list from given path. but if I give D or C it tooks ~20 mins to get all files list. Windows file search ~1.5 mins. I searched multithreading vs but couldn't find useful solution.
private static List<File> getFiles(String path) {
File[] arrayOfFile1;
File root = new File(path);
File[] list = root.listFiles();
if (list == null)
return null;
int j = (arrayOfFile1 = list).length;
for (int i = 0; i < j; ++i) {
File f = arrayOfFile1[i];
if ((f.isDirectory()) && (!(f.getName().equals(".svn")))) {
getFiles(f.getAbsolutePath());
} else if (!(f.getName().equals(".svn"))) {
sourceFiles.add(f.getAbsoluteFile());
}
}
return sourceFiles;
}