मैं रूट निर्देशिका में फ़ाइल ढूंढने की कोशिश कर रहा हूं और यह सब-निर्देशिका है।फ़ाइल खोज रिकर्सिवली
चरण 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;
}
धन्यवाद, डीके
धन्यवाद Sincolas .. यह है awsome ... – codersnet