C sharpta Klasör Oluşturma ve Silme İşlemleri

C#’ ta klasör oluşturma ve silme aşamalarını örnek kodlarla birlikte anlatacağım. Öncelikle c sharpta dosya işlemleri yapabilmek için  “System.IO” namespace’ i eklenmeli. Konunun örneği için ben bir form uygulaması hazırladım. Form üzerindeki elemanları yandaki resimden görebilirsiniz. Kodda da karşılaşacağınız için ben form elemanlarının isimlerini vereyim.

Textbox:txt_folderName ; Combobox:cB_folderWay; Oluştur Butonu:btn_save; Sil Butonu:btn_delete

Klasör işlemleri hakkında biraz bilgi verdikten sonra uygulamanın nasıl çalıştığına ve kod açıklamalarına değinmek istiyorum. Klasör oluşturmak için yukarıda bahsettiğimiz namespace’ in bize sağladığı bir metod var. Directory classı üzerinden erişilen bu metod parametre olarak bir string alıyor. Tabi ki bu string, klasör adını da içeren bir dizin. Klasörün oluşturulması gereken yol bilgisi ve klasör adı parametre olarak bu string içinde gönderilir. Tabi silme işlemi için de aynı classtan farklı bir metod kullanılır. Bu metodların kullanım şekli ise kısaca şöyledir:

Klasör oluşturma metodu:

Directory.CreateDirectory(“Dizin burada belirtilir”);

Klasör silme metodu:

Directory.Delete(“Dizin burada belirtilir”);

Kullanım bu şekildeydi. Şimdi uygulamanın işleyişini anlatayım. Formda klasör adını yazabileceğiniz bir textbox bulunmakta. Combobox’ ın görevi ise kullanıcıdan yer bilgisini almak. Ben sadece C ve D diskini combobox’ a ekledim. Buradan yer bilgisi de seçtildikten sonra sil ya da oluştur butonlarıyla istenilen işlem gerçekleştirilebilir.


Uygulamanın kaynak kodlarında, 3 metod içine kod yazdım. İlki form’ un load metodunda combobox seçeneklerini ekledim.(C ve D dizinleri olarak) Diğer iki metod ise sil ve oluştur butonlarının click event metodları. Bu metodlar içinde yapılan işlemler benzer. Tek fark birinde Directory classının klasör oluşturma metodu çağırılırken, diğerinde aynı classın klasör silme metodu çağırılıyor. Örnek kod üzerinde gerekli açıklamaları yaptım. Şimdi kodları inceleyebilirsiniz.

 

[cc lang='csharp' ]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;// Klasörlerle işlem yapmak için eklenmesi gereken namespace

namespace klasorOlusturma_Silme
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //combobox dizinleri ekleniyor
            cB_folderWay.Items.Add("C:\\");
            cB_folderWay.Items.Add("D:\\");
        }

        //Oluştur butonuna basıldığındda çalışacak metod
        private void btn_save_Click(object sender, EventArgs e)
        {
            if (txt_folderName.Text == "")
            {
                MessageBox.Show("Lütfen Kaydedilecek Klasörün Adını Giriniz!");
            }
            else
            {
                if (cB_folderWay.Text == "")
                {
                    MessageBox.Show("Lütfen Klasörün Kaydedileceği Yolu Belirtiniz!");
                }
                else
                {
                    //Klasör oluşturma metodu: Combobox' ta yapılan seçimi ve
                    //textbox' a yazılan ismi kullanarak klasör oluşturuyor
                    Directory.CreateDirectory(cB_folderWay.Text + txt_folderName.Text);
                }
            }
        }
        //Sil butonuna basıldığındda çalışacak metod
        private void btn_delete_Click(object sender, EventArgs e)
        {
            if (txt_folderName.Text == "")
            {
                MessageBox.Show("Lütfen Silinecek Klasörün Adını Giriniz!");
            }
            else
            {
                if (cB_folderWay.Text == "")
                {
                    MessageBox.Show("Lütfen Klasörün Silineceği Yolu Belirtiniz!");
                }
                else
                {
                    //Klasör silme metodu: Combobox' ta yapılan seçimi ve
                    //textbox' a yazılan ismi kullanarak klasörü siliyor
                    Directory.Delete(cB_folderWay.Text + txt_folderName.Text);
                }
            }
        }
    }
}
[/cc]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir