Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Ahmet Faruk Nacaroğlu
Ahmet Faruk Nacaroğlu
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
40 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler:  C# / VC#/.NET Ahmet Faruk Nacaroğlu
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : C# / VC#/.NET
Yayınlanma Tarihi : 19.11.2002
Okunma Sayısı : 125739
Yorum Sayısı : 4     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 4.4.2025
Turhal Temizer
Mac OS/X Removing CUDA 4.4.2025
Burak Selim Şenyurt
Bellek Yönetiminde Verimlilik için İpuçları (Rust Odaklı) 4.4.2025
Burak Selim Şenyurt
Rust ve Güvenli Bellek Yönetimi Hakkında 4.4.2025
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
C#'ta Temel Metin Dosyası İşlemleri
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Micssoft NET ile programcıların hizmetine sunulan hazır sınıf kütuphaneleri sayesinde diğer dillerde programcıları uğraştıran birçok konu üzerinde program yazmak artık bir zevk haline geldi. Girdi/Çıktı (I/O) işlemleri de böyle zevkli hale gelen konulardan biridir. Biz bu yazımıda metin dosyası (text file) ile ilgli temel birkaç işlem üzerinde duracağız.

Metin dosylarını oluşturmak, yazmak, içeriklerini okumak için System isimuzayında bulunan Text alt uzayındaki sınıfları kullanıyoruz. Aşağıdaki programımızda 3 tane metodumuz var. Birincisi, DosyayaYaz() metin dosyasını oluşturup bu dosya ya birkaç şey yazdırıyor. Bu metod önce StreamWriter sınıfından dosya isimli bir obje oluşturuyor. Daha sonra StreamWriter sınıfında bulunan WriteLine() metodu ile 2 satır yazıyoruz dosyamıza. Son olarak dosyamızı dosya.Close() ile kapatıyoruz.

İkinci metodumuz, DosyadanOku(), ise bir metin dosyasının içeriğini ekrana yazdırıyor. Bunun için önce StreamReader sınıfına ait dosyaOku nesnemizi oluşturuyoruz. Sonra dosyamızı dosyaOku=File.OpenText(dosyaIsmi); komutu ile açıyoruz. Dosyamızın ilk satırında bulunan yazıyı "yazi" isimli değişkenimize yazi=dosyaOku.ReadLine(); ile aktarıyoruz. Bundan sonra ise eğer okuduğumuz satırda yazı varsa (yani dosyanın sonu değilse) o satırı ekrana yazdırıp bir sonraki satırı okuyoruz. Okuma ve ekrana yazdırma işlemlerini dosyanın sonuna kadar (yada okuduğumu satırın içeriğinin null olana kadar ) devam ediyoruz. Son olarak ise dosyaOku.Close() ile dosyamızı kapatıyoruz.

Üçüncü ve son fonksiyonumuz ise metin dosyamızın sonuna birşeyler ekleyen DosyayaEkle()'dir. Yine StreamWriter sınıfından dosya isimini verdğimiz bir nesne oluşturuyoruz. Dosyamızı File.AppenText() metodu ile açıyoruz ki bu metod sayesinde dosyanın sonuna istedğiğmiz veriyi kolayca ekleyebiliriz. dosya.WriteLine("Bu da en son Append ile eklediğimiz satır..."); komutu ile tırnaklar arasında metni dosyamızın sonuna ekliyoruz. Her zamanki gibi açtığımız dosyayı işimiz bitince hemen dosya.Close(); ile kapatıyoruz.

Aşağıdaki programı sisteminizde deerkeyi çalıştırmanızı ve hatta kod ile oynayıp değişiklikleri incelemenizde yarar olduğunu düşünüyorum. Herkese başarılar...

using System;
using System.IO;
using System.Text;

class TextFile
{
    public static void Main(string[] args)
       {
           // Metin dosyamıza birşeyler yazan fonksiyon..
           DosyayaYaz();

          // Metin dosyamızı okuyan ve ekrana yazan fonksiyon
          DosyadanOku("c:\\Deneme.txt");

          // Metin dosyamızın sonuna birşeyler ekleyen fonksiyon
         DosyayaEkle("c:\\Deneme.txt");

        Console.ReadLine();
}

    static void DosyayaYaz()
      {
          //StreamWriter classından dosya isimli bir nesne oluşturalım
          StreamWriter dosya = new StreamWriter("c:\\Deneme.txt");

         //Dosyamıza birinci satırı yazalım
         dosya.WriteLine("Metin dosyamızın ilk satırı");

         //Buda dosyamıza yazdığımız ikinci satır
         dosya.WriteLine("İkinci satır...");

        //Dosyamızın kapatılım..
        dosya.Close();

       //Yazma işlemini başarı ile tamamladığımızı kullanıcıya bildirelim..
      Console.WriteLine("Dosya yazımı Başarı ile tamamlandı...");

    }

   static void DosyadanOku(string dosyaIsmi)
    {
        // Text dosyasından okuyan StreamReader sınıfına ait bir
        // dosyaOku nesnesini oluşturuyoruz
       StreamReader dosyaOku;

      // dosyadan okuyacağımız yazıyı string olarak depolamak için
      // yazı nesnemizi oluşturuyoruz.
      string yazi;

      //Dosyamızı okumak için açıyoruz..
      dosyaOku=File.OpenText(dosyaIsmi);

     //Dosyamızı okumak için açıyoruz ve ilk satırını okuyoruz..
     yazi=dosyaOku.ReadLine();

     /* okuduğumuz satırı ekrana bastırıp bir sonraki satıra geçiyoruz
    * Eğer sonraki satırda da yazı varsa onu da okuyup ekrana bastırıyoruz.
    * Bu işlemleri dosyanın sonuna kadar devam ettiriyoruz.. */

     while(yazi!=null)
     {
        Console.WriteLine(yazi);
        yazi=dosyaOku.ReadLine();
     }

     // dosyamızı kapatıyoruz..
     dosyaOku.Close();
}

    static void DosyayaEkle(string dosyaIsmi)
     {
        //StreamWriter classından dosya isimli bir nesne oluşturalım
        StreamWriter dosya;

        // dosyamızın sonuna birşeyler eklememek için açıyoruz..
       dosya=File.AppendText(dosyaIsmi);

       // dosyanın sonuna birşey ekliyoruz..
       dosya.WriteLine("Bu da en son Append ile eklediğimiz satır...");

       // Dosyamızı kapatıyoruz..
       dosya.Close();

       Console.WriteLine("Dosyanın sonuna başarı ile ekledik...");
    }

}

Makale:
C#'ta Temel Metin Dosyası İşlemleri C#, Visual C# ve .NET Ahmet Faruk Nacaroğlu
  • Yazılan Yorumlar
  • Yorum Yaz
OCA
10
2011
http://www.kafkasinsesi.com/konular.aspx?id=36 Sosyal Paylaşım Ağı c# dosya işlemleri hakkında ayrıntılı bilgi bulabilirsiniz.
ARA
24
2009
bu yazdıklarınızı aynen uyguluyorum fakat text dosyası oluşmuyor. text dosyası oluşturmayla alakalı başka yöntemler denedim fakat hiç birinde text dosyası oluşmuyor. bendeki sorunun kaynağı ne olabilir?
KAS
25
2004
namespace demek istediniz sanırım.eğer öyleyse benim tercihim "isim alanı" yönünde
KAS
25
2004
tablespace kelimesine farklı Türkçe karşılıklar kullanıldığını görüyoruz (isimuzayı, tabloboşluğu gibi..). Naçizane benim önerim "tablouzayı" tabirinin kullanılmasıdır.
Sayfalar : 1 
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
TEM
10
2010
Yazan: Mert Susur
Bu yazıda Dependency Injection tasarım ve Unity Application Block ile uygulanması anlatılmaktadır.
TEM
8
2010
Yazan: Mert Susur
Bu yazıda; yazılım geliştirme yöntemlerinden biri olan test driven development, bir generic liste örneği hazırlanarak anlatılmatadır.
TEM
6
2010
Yazan: Mert Susur
Bu yazıda, Model-View-Presenter tasarım kalıbının ne olduğu ve nasıl kullanılabileceği anlatılmaktadır.
TEM
2
2010
Yazan: Mert Susur
Bu yazıda, Nesneye yönelik yaklaşımların kattıkları ve eksiklerinin aspect oriented programlama ile nasıl giderilebileceğinden bahsedilmektedir.
ŞUB
9
2010
Yazan: Mehmet Sencer Karadayı
Bu yazımızda, tabir yeindeyse LINQ 'dan daha dinamik olan akrabası, Dynamic LINQ 'dan bahsediyor olacağız.
OCA
14
2010
Yazan: Tolga Aykurt
Uygulamalarımızda kaynaklarımızı en verimli nasıl kullanabiliriz? Gelin hep birlikte konuyu biraz daha açalım.
KAS
3
2009
Yazan: Mert Susur
Bu yazıda, javascript ile nesneye yönelik tasarımın nasıl yapılabileceği konusu işlenmektedir
OCA
21
2009
Yazan: Oğuz Yağmur
Uygulamanın güvenliğini sağlamak için neler yapılabilineceğini ve uygulamaların imzalanması kavramlaırnı inceliyoruz
OCA
19
2009
Yazan: Oğuz Yağmur
Geliştirilen uygulamaların dağıtım sonrasındaki karşılaşılabiliecek senaryoları inceliyoruz.
OCA
7
2009
Yazan: Mehmet Aydın Ünlü
XNA 'de oyun sahnesine bir nesne nasıl yerleştirilir, nesneyi nasıl hareket ettirme ve çarpışma kavramlarını incelıyoruz.