Dosyalar ve klasörler üzerinde işlem yapmak için System.IO sınıfı bir çok metoda sahiptir. Bu örneğimizde bu sınıfı kullanarak Klasör oluşturma,klasör silme, klasörün var olup olmadığını,
çalışan uygulamanın yolunu, Dizin içindeki klasörlerin listelenmesi,
dizindeki dosyaların listelenmesi, bilgisayarda bulunan sürücülerin listelenmesi, klasör taşıma işlemi, var olan bir dosyanın boyutunu bulmayı dosyaya son erişim tarihini bulmayı gerçekleştireceğiz.
1 2 3 |
using System.IO; |
kütüphanemizi ekliyoruz.
Klasör oluşturmak için;
1 2 3 4 5 6 |
private void button1_Click(object sender, EventArgs e) { Directory.CreateDirectory("D:ahmetcansever"); } |
Klasörü silmek için;
1 2 3 4 5 6 |
private void button2_Click(object sender, EventArgs e) { Directory.Delete("d:ahmetcansever"); } |
Klasörü içindekilerle silmek için;
1 2 3 4 5 6 |
private void button3_Click(object sender, EventArgs e) { Directory.Delete("d:ahmetcansever",true); } |
Klasörün var olup olmadığını anlamak için;
1 2 3 4 5 6 7 8 9 10 11 12 13 |
private void button4_Click(object sender, EventArgs e) { if (System.IO.Directory.Exists("D:ahmetcansever")) { MessageBox.Show("Dizin Var"); } else { MessageBox.Show("Dizin Yok"); } } |
Aktif dizini görmek için;
1 2 3 4 5 6 |
private void button5_Click(object sender, EventArgs e) { MessageBox.Show(Directory.GetCurrentDirectory()); } |
Klasörleri listelemek için;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
private void button6_Click(object sender, EventArgs e) { listBox1.Items.Clear(); //bulunan klasörleri dizi tipinde döndürür string[] klasorler = Directory.GetDirectories("D:"); //klasörler dizisinin uzunluğuna kadar git for (int j = 0; j<klasorler.Length; j++) { //klasörler dizisinin i. elemanı listboxa ekle listBox1.Items.Add(klasorler[j]); } } |
Belirtilen klasördeki dosyaları listelemek için;
1 2 3 4 5 6 7 8 |
private void button7_Click(object sender, EventArgs e) { listBox1.Items.Clear(); //GetFiles metodu dosyaları temsil eder. Belirtilen Dizindeki Dosyaları Dizi olarak döndürür string[] dosyalar = System.IO.Directory.GetFiles("D:"); for (int j = 0; j |
Bilgisayardak sürücüleri listelemek için;
1 2 3 4 5 6 7 8 9 10 11 12 |
private void button8_Click(object sender, EventArgs e) { listBox1.Items.Clear(); //sürücüleri dizi tipinde döndürür string[] suruculer = Directory.GetLogicalDrives(); for (int j = 0; j<suruculer.Length; j++) { listBox1.Items.Add(suruculer[j]); } } |
Klasörü taşımak için;
1 2 3 4 5 6 7 8 9 |
private void button9_Click(object sender, EventArgs e) { //D sürücüsündeki ahmetcansever isimli klasörü //aynı dizinde ahmet isimli klasörün içine ismini cansever olarak //değiştirerek taşıdık. Directory.Move("D:ahmetcansever", "D:ahmet/cansever"); } |
Dosya boyutunu byte olarak bulmak için;
1 2 3 4 5 6 7 |
private void button10_Click(object sender, EventArgs e) { System.IO.FileInfo dosya = new System.IO.FileInfo("D:serkan.xlsx"); MessageBox.Show(dosya.Length.ToString()); } |
Dosyaya son erişimin ne zaman olduğunu bulmak için;
1 2 3 4 5 6 |
private void button11_Click(object sender, EventArgs e) { MessageBox.Show(System.IO.Directory.GetLastAccessTime("D:ahmet").ToString()); } |
kodları yazarak uygulamamızı bitiriyoruz.
Projeyi dilerseniz buradan indirebilirsiniz.
Klasörü değil de içindeki dosyaları nasıl sileceğiz. Temp dosyasının içini sık sık siliyorum mesela. Klasörü değil de içindekileri silme komutu var mı?
senin olduğun kullanıcıya göre işlem nasıl yapıcak peki?
ÇOK TEŞEKKÜRLER PROJEMDE YARDIMCI OLAN BİR İÇERİKDİ.
hocam peki klasör adını değiştirmek için ne yazacağız? ayrıcada klasör konumu belirtmeden c# nasıl işlem yapabiliyor?
merhaba
c# form application dersinden performans aldım ama bu dersim çok zayıf. performans ödevi olarak “dosya takip sistemi” diye birşey aldım ve son günü 12 ocak
dosya takip sistemi:
windowstaki tüm klasörlerin içeriğini görebilecek disklerden başlayarak
(windows dosya gezgini gibi) (silme, yapıştırma,kesme,yeni klasör ekleme olcak,bir geri-ileri gidecek,klasör arama olacak)
gösterilen içerikteki videoları,resimleri ve belgeliri kendi üstünde açabilecek (ve küçük bir ekranda ön göserim yapıcak (resim ve belgeler için))
not tutabilecek
ve kendi kilidi olacak
acil yardımcı olabilirmisiniz.
bir iki şey eksik olsada olur.
en azından bununla ilgili kodları verebilirseniz çok sevinirim.
elinize saglık , hocanın zulmünden kurtuldum sayenizde:D