Próbuję znaleźć plik w katalogu głównym i jego podkatalogach.Wyszukiwanie plików rekursywnie
Krok 1 - Znajdź katalog w określonej ścieżce. Step2- Jeśli powyższy katalog zostanie znaleziony, poszukaj pliku w jednym z podkatalogów.
W tym celu używam poniższego fragmentu kodu, który jest rekurencyjnie wyszukiwany. Problem polega na tym, w jaki sposób mogę wykluczyć rekurencję, gdy spełnia on oba moje powyższe wymagania ..?
boolean bFileFound = false;
File fileFound = null;
private void findFile(File aFile, String sDir){
String filePath = aFile.getAbsolutePath();
if(aFile.isFile() && filePath.contains(sDir)){
if(aFile.getName().contains("test2.adv")){
Log.d(TAG, "[FILE] " + aFile.getName());
fileFound = aFile;
bFileFound = true;
}
// return true;
}else if(aFile.isDirectory()){
String sDirName = aFile.getName();
Log.d(TAG, "[DIR] " + sDirName);
if(sDirName.contains(sDir)){
Log.d(TAG, "Found the directory..& Absolute Path = " + aFile.getAbsolutePath());
sDir = sDirName;
}
File[] listFiles = aFile.listFiles();
if(listFiles != null){
for(int i = 0; i < listFiles.length; i++){
if(bFileFound)
return;
findFile(listFiles[ i ], sDir);
}
}else{
Log.d(TAG, " [ACCESS DENIED]");
}
}
// return null;
}
Dzięki DK
Dzięki Sincolas .. to świetny ... – codersnet