Metni Kaydet - CSharp


Verilen metni verilen tam yola kaydeden, eğer tam yol mevcut değilse SaveFileDialog ile kaydetmeye yarayan csharp kodudur.

Kod


void MetniKaydet(string tamYol, string metin)
{
    if (tamYol != String.Empty)
    {
        if (File.Exists(tamYol))
        {
            var mesaj = MessageBox.Show(
                "Değişiklikler kaydedilecek, onaylıyor musunuz?",
                "Kayıt İşlemi",
                MessageBoxButtons.YesNoCancel);

            if (mesaj == DialogResult.Yes)
            {
                File.WriteAllText(tamYol, metin);
            }
        }
    }
    else
    {
        //https://stackoverflow.com/a/18743139
        //https://www.c-sharpcorner.com/UploadFile/mahesh/savefiledialog-in-C-Sharp/
        SaveFileDialog saveFileDialog = new SaveFileDialog();
        saveFileDialog.InitialDirectory = Environment.SpecialFolder.MyDocuments.ToString();
        saveFileDialog.Title = "Dosya Kaydet";
        saveFileDialog.DefaultExt = "txt";
        saveFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
        saveFileDialog.FilterIndex = 2;
        saveFileDialog.RestoreDirectory = true;

        if (saveFileDialog.ShowDialog() == DialogResult.OK)
        {
            if (!File.Exists(saveFileDialog.FileName))
            {
                File.Create(saveFileDialog.FileName).Dispose();
                File.WriteAllText(tamYol, metin);
            }
            else if (File.Exists(saveFileDialog.FileName))
            {
                File.WriteAllText(tamYol, metin);
            }
        }
    }
}

Etiketler
csharp