मेरे पास निम्न निर्देशिका में निर्देशिका के माध्यम से फ़ाइलों की खोज करने के लिए निम्न कोड है, जो मुझे सभी एक्सएमएल फाइलों की एक सूची देता है। सभी अच्छी तरह से काम करता है, सिवाय इसके कि रूट निर्देशिका में xml फ़ाइलों को सूची में शामिल नहीं किया गया है।निर्देशिका में फ़ाइल के लिए खोज रहे हैं
मैं समझता हूं कि क्यों पहली बात यह है कि रूट में निर्देशिकाएं प्राप्त होती हैं, फिर फ़ाइलों को प्राप्त करें, इस प्रकार रूट पर GetFiles() कॉल को याद रखें। मैंने foreach से पहले GetFiles() कॉल सहित कोशिश की, लेकिन परिणाम मुझे उम्मीद नहीं है।
RootDirectory
test1.0.xml
test1.1.xml
test1.2.xml
2ndLevDir
test2.0.xml
test2.1.xml
3rdLevDir
test3.0.xml
test3.1.xml
कोड रिटर्न:
public static ArrayList DirSearch(string sDir)
{
try
{
foreach (string d in Directory.GetDirectories(sDir))
{
foreach (string f in Directory.GetFiles(d, "*.xml"))
{
string extension = Path.GetExtension(f);
if (extension != null && (extension.Equals(".xml")))
{
fileList.Add(f);
}
}
DirSearch(d);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return fileList;
}
मेरे निर्देशिका संरचना की तरह कुछ है
test2.0.xml
test2.1.xml
test3.0.xml
test3.1.xml
मैं सहित हर फ़ाइल वापस जाने के लिए करना चाहते हैं:
test1.0.xml
test1.1.xml
test1.2.xml
नहीं
बहुत अच्छी तरह से रिकर्सि के साथ कविता पर। किसी भी प्वाइंटर की अत्यधिक सराहना की जाएगी।
'Directory.EnumerateFiles (sDir," * .xml ", SearchOption.AllDirectories)' ' –