1. Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha Fazla Bilgi.

c# dosya okuma yazma

'Bilgisayar Programlama' forumunda MaRLeY tarafından 9 Kasım 2012 tarihinde açılan konu

  1. MaRLeY

    MaRLeY Moderator

    Dosya Okuma Yazma Islemleri
    Bu yazimda dosya islemlerinden text dosyasi yazma ve okuma islemleri üzerimde duracagim. C#’ta dosya islemleri için System.IO kütüphanesi kullanilir. Bunun için öncelikle projemize bu kütüphaneyi ekliyoruz.

    using System.IO;

    Daha sonra formumuzu sekillendirelim. Toolbox’tan formumuza 5 button, 1 richTextBox ve 1 TextBox sürükleyip birakalim. Asagidaki gibi dizayn edelim.




    Simdi butonlarin üzerinde yazan islemlerin nasil yapildigindan bahsedelim. Öncelikle butonlarin click event’lerini olusturalim.

    Yazma islemi için StreamWriter sinifi kullanilir. Bunun için önce bu siniftan bir nesne olusturacagiz. StreamWriternesnesi tanimlanken string tipinde bir parametre girmemiz gerekiyor. Bu parametre üzerinde islem yapacagimiz dosyanin adresinden ve isminden olusan bir path’tir. Verilen adreste path içinde adi geçen dosya olmayabilir. Bu durumda program önce dosyayi olusturacak sonra üzerinde islem yapacaktir.

    Bu programda StreamWriter sinifin yazma prosedürlerinden WriteLine prosedürünü kullanacagiz. WriteLine string tipinde bir parametreyle çalisir ve bu parametreyi dosya içinde tek bir satira yazar. Son olarak bu dosyaya ekledigimiz veriye ulasabilmek için olusturdugumuz nesneyi kapatiriz.

    Okuma islemi için StreamReader sinifi kullanilir. Bunun için önce bu siniftan bir nesne olusturacagiz. StreamReadernesnesi tanimlarken string tipinde bir parametre girmemiz gerekiyor. Bu parametre üzerinde islem yapacagimiz dosyanin adresinden ve isminden olusan bir path’tir. Verilen adreste path içinde adi geçen dosya olmak zorundadir.

    Bu programda StreamReader sinifin okuma prosedürlerinden ReadLine prosedürünü kullanacagiz. ReadLine, dosyayi satir satir okumak için kullanilir. Parametre istemez.
    Islemi sonlandirmak için nesneyi kapatiriz.

    Ekleme islemi, yazma islemine benzemektedir. Bu islem için de StreamWriter sinifini kullanilir. Aralarindaki fark tanimlamada ve uygulamada ortaya çikar. Ekleme islemini tanimlarken File.AppendText kullanilir. AppendText string tipinde bir parametre ister. Bu parametre ekleme islemi yapilacak dosyanin adresinden ve isminden olusan bir path’tir. Uygulama olarak yazma isleminden farki, dosya içinde daha önceden var olan verileri koruyarak dosyaya yeni veriler eklemesidir. Bu islemde de verilen adreste path içinde adi geçen dosya olmayabilir. Bu durumda program önce dosyayi olusturacak sonra üzerinde islem yapacaktir.



    Dosyadaki tüm verileri okumak için yine StreamReader sinifi kullanilir. Burada okuma isleminden farkli olarak bir döngü kullanacagiz.

    Programda okunan verileri görebilmek için richTextBox kullandik. Ilk olarak richTextBox’daki eski verileri temizledik. Verileri richTextBox’a yazarken string toplamasi yaptik. ”\n” islemi ile yeni gelen verinin bir alt satirda görünmesini sagladik.

    Son butonun click event’inde richTextBox’taki tüm verilerin temizlenmesi için Clear procedürünü kullandik.


    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;

    namespace Dosya_Okuma_Yazma
    {

    public partial class Form1 : Form

    {
    public Form1()
    {
    InitializeComponent();
    }


    //Yazma Islemi

    private void button1_Click(object sender, EventArgs e)
    {
    StreamWriter SW = new StreamWriter("c:\\deneme.txt");
    SW.WriteLine(textBox1.Text);
    SW.Close();
    }



    //Okuma Islemi

    private void button2_Click(object sender, EventArgs e)
    {
    StreamReader SR = new StreamReader("c:\\deneme.txt");
    richTextBox1.Text = SR.ReadLine();
    SR.Close();
    }



    //Ekleme Islemi

    private void button3_Click(object sender, EventArgs e)
    {
    StreamWriter SW = File.AppendText("c:\\deneme.txt");
    SW.WriteLine(textBox1.Text);
    SW.Close();
    }



    //Dosyadaki Tüm Verileri Okuma

    private void button4_Click(object sender, EventArgs e)
    {
    richTextBox1.Clear();
    StreamReader SR = new StreamReader("c:\\deneme.txt");
    string metin = SR.ReadLine();
    while (metin!=null)
    {
    richTextBox1.Text = richTextBox1.Text + "\n" + metin;
    metin = SR.ReadLine();
    }
    }


    //richTextBox’i Temizleme

    private void button5_Click(object sender, EventArgs e)
    {
    richTextBox1.Clear();
    }
    }
    }
     
    Tags:
  2. mehmet863

    mehmet863 New Member

    Yani button2 yi button1 e mi bağlıcaz click event le
     
  3. MaRLeY

    MaRLeY Moderator

    Evet çalışmadı mı
     
  4. MaRLeY

    MaRLeY Moderator

    Pardon orda verdiğin kod lar birbirinden bağımsız örnek kodlar yani bir buton okuma da diğer buton yazmada kullanabilirsin eğer aynı anda kullanma planın varsa
     

Bu Sayfayı Paylaş

Yükleniyor...