2013-04-06 2 views
6

में उप निर्देशिका के लिए जाँच करें मैं फ़ोल्डर में एक रार/ज़िप फ़ाइल से निकाली गई फ़ाइलों को संग्रहीत कर रहा हूं।
उसके बाद मैं उस फ़ोल्डर के अंदर फ़ाइलों को डेटाबेस में संग्रहीत कर रहा हूं।
समस्या यह है कि यह केवल फ़ोल्डर में फ़ाइलों को उप निर्देशिका और इसकी फ़ाइलों स्टोर करता है।सी #

फ़ोल्डर में कोई उप निर्देशिका है या नहीं, तो कैसे पता लगाएं।
मैं नीचे

Directory.CreateDirectory(StorageRoot + path + New_folder); 
decom(StorageRoot + path + New_folder, StorageRoot + path + file.FileName); 
foreach (var access_file in Directory.GetFiles(StorageRoot + path + New_folder)) 
{      
    string new_name=System.IO.Path.GetFileName(access_file); 
    FileInfo f = new FileInfo(StorageRoot + path + New_folder+ "/" + new_name); 
    int new_size = unchecked((int)f.Length); 
    string new_path = path + New_folder; 
    statuses.Add(new FilesStatus(new_name, new_size, new_path, StorageRoot, data)); 
} 

कोड का उपयोग कर रहा कैसे फ़ाइलें और फ़ोल्डर में निर्देशिका की सूची प्राप्त करने। और उन्हें डीबी में बचाओ?

उत्तर

2

एक फ़ोल्डर आप Directory.GetFiles() और Directory.GetDirectories()

उपयोग प्रत्यावर्तन या कतार में रिकर्सिवली पार निर्देशिका का उपयोग कर सकते में फ़ाइलों और निर्देशिकाओं प्राप्त करने के लिए। प्रत्यावर्तन के साथ

उदाहरण:

void Traverse(string directory) 
{ 
    foreach(var dir in Directories.GetDirectories(directory)) 
    { 
     Traverse(directory); 
    } 

    // Your code here 
} 
+0

धन्यवाद दोस्त यह कोशिश करेंगे। WIll +1 दे देंगे लेकिन मैं अब 15 से कम हूं :) – Jhonny

+0

+ 1 के बारे में चिंता न करें। उम्मीद है की यह मदद करेगा। –

+0

आपको स्वीकार करने और सही के रूप में जवाब देने के लिए किसी भी प्रतिष्ठा की आवश्यकता नहीं है। –

2

यह हो सकती है:

System.IO.DirectoryInfo info = new System.IO.DirectoryInfo("YOUR PATH"); 

    //List of directories 
    var result = info.GetDirectories().Select(i => i.FullName); 

आप GetDirectories उपयोग कर सकते हैं उप फ़ोल्डर DirectoryInfo की और उन्हें तक Getdirectories रिटर्न कुछ भी नहीं के माध्यम से पुनरावृति करने के लिए।