Merhaba arkadaşlar bugün sizlere başlıktada belirttiğim gibi, bir dizindeki dosyaları ve klasörleri nasıl listeleyeceğimizi anlatacağım.
Bildiğiniz gibi bir klasör altında binlerde klasör ve dosya olabilir.
Bunun için 2 adet method yaptım, bu methodlar getDirectories ve getFileInfo
getDirectories methodu belirttiğimiz dizindeki tüm klasörleri döner ve altındaki tüm klasörleri listeler, bu method içinde dönerken dosyaları listeleme işlemini ise getFileInfo yapıyor.
Aşağıda kodları inceleyebilirsiniz. Teşekkürler…
Kodlara geçmeden önce kütüphanemize using System.IO; eklemeyi unutmayalım.
/// <summary> /// Dizin altında ki klasörleri ve dosyaları listeler. semihcelikol.com /// </summary> /// <param name="directory"> public void getDirectories(string _directoryPath, ListBox _listbox) { try { if (_directoryPath != "") { //Verilen yol'daki klasörleri alıp,diziye atıyoruz. string[] directories = Directory.GetDirectories(_directoryPath); if (directories.Count() > 0) { //tüm klasör dönüyoruz. foreach (string LoopFolder in directories) { //DirectoryInfo ile klasörün bilgilerini çekiyoruz. DirectoryInfo dirInfoDirectory = new DirectoryInfo(LoopFolder); _listbox.Items.Add("+" + dirInfoDirectory.Name); //Klasör altında ki dosylarımızı listeliyoruz. this.getFileInfo(LoopFolder, _listbox); } } else { DirectoryInfo dirInfoDirectory = new DirectoryInfo(_directoryPath); _listbox.Items.Add("+" + dirInfoDirectory.Name); this.getFileInfo(_directoryPath, _listbox); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "HATA", MessageBoxButtons.OK, MessageBoxIcon.Error); } } /// <summary> /// Klasör altındaki dosyaları listeler. /// </summary> /// <param name="_directoryPath"> /// <param name="_listbox"> public void getFileInfo(string _directoryPath, ListBox _listbox) { try { //Klasör altındaki dosyaları listeler DirectoryInfo dirInfoFile = new DirectoryInfo(_directoryPath); FileInfo[] files = dirInfoFile.GetFiles(); string[] directoriesPath = Directory.GetDirectories(_directoryPath); if (directoriesPath.Count() > 0) { this.getDirectories(_directoryPath,_listbox); } foreach (FileInfo fi in files) { _listbox.Items.Add(" -" + fi.Name); } } catch (Exception ex) { MessageBox.Show(ex.Message, "HATA", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
güzel anlatım . teşekkürler
Thanks.