루트 디렉토리에있는 파일을 찾으려고합니다. 하위 디렉토리입니다.파일 검색 재귀
1 단계 - 지정된 경로에서 디렉토리를 찾습니다. 2 단계 - 위의 디렉토리가 발견되면 하위 디렉토리 중 하나에서 파일을 찾습니다.
여기에 재귀 적으로 검색하는 아래의 코드 조각을 사용합니다. 자, 문제는 위의 두 가지 요구 사항을 모두 충족 할 때 재귀를 중단하는 방법입니다.
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;
}
감사합니다, DK 이제
감사 Sincolas은 .. 그건 awsome ... – codersnet