CodeBlanks Logo Icon CodeBlanks

Özet - Dosya I/O

C# kursu · Orta seviye · Ders 105/116

ReadAllText, StreamWriter ve Exists'i birleştirerek bir not defteri yazarsın.

Özet - Dosya I/O

Bu grupta dosya işlemlerini öğrendin: ReadAllText tüm dosyayı okur, WriteAllText yazar, ReadAllLines satır dizisi verir, StreamReader/StreamWriter akış sağlar, Exists kontrol eder, Delete siler.

Son derste küçük bir not defteri uygulaması yazacaksın: notu dosyaya kaydet, dosya varsa oku ve göster, yoksa hoş geldin mesajı yaz. Bu, gerçek bir konsol aracının temelini oluşturur.

Uygulama Not defteri: kaydet ve oku

Önce File.WriteAllText("not.txt", "Bugün hava güzel"); ile notu kaydet. Sonra File.Exists("not.txt") true ise File.ReadAllText("not.txt")'i oku ve Console.WriteLine ile yazdır; false ise Console.WriteLine("Not yok"); yaz.

Örnek çözümü göster
Önce File.WriteAllText("not.txt", "Bugün hava güzel"); ile kaydet. Sonra if (File.Exists("not.txt")) ile kontrol et; true ise var text = File.ReadAllText("not.txt"); Console.WriteLine(text); ile yazdır, false ise Console.WriteLine("Not yok"); yaz.
Örnek çözüm:
using System;
using System.IO;

class Program
{
    static void Main()
    {
        File.WriteAllText("not.txt", "Bugün hava güzel");
        if (File.Exists("not.txt"))
        {
            var text = File.ReadAllText("not.txt");
            Console.WriteLine(text);
        }
        else
        {
            Console.WriteLine("Not yok");
        }
    }
}

Uygulama StreamWriter ile günlük tut

using (var sw = new StreamWriter("gunluk.txt")) bloğu içinde sw.WriteLine ile iki satır yaz: "Sabah" ve "Akşam". Sonra File.ReadAllLines("gunluk.txt") ile oku ve foreach ile her satırı yazdır.

Örnek çözümü göster
Önce using (var sw = new StreamWriter("gunluk.txt")) bloğu içinde iki WriteLine çağrısı yap. Sonra foreach (var line in File.ReadAllLines("gunluk.txt")) Console.WriteLine(line); yaz.
Örnek çözüm:
using System;
using System.IO;

class Program
{
    static void Main()
    {
        using (var sw = new StreamWriter("gunluk.txt"))
        {
            sw.WriteLine("Sabah");
            sw.WriteLine("Akşam");
        }
        foreach (var line in File.ReadAllLines("gunluk.txt"))
        {
            Console.WriteLine(line);
        }
    }
}

Kendini test et

  1. Büyük dosya için hangisi?

    • File.ReadAllText
    • File.Exists
    • File.Delete
    • StreamReader
    Cevabı göster

    StreamReader — Doğru. StreamReader büyük dosyalar için akış tabanlı okuma sağlar; tüm dosyayı belleğe yüklemez.

  2. Metodu amacına eşle

    ReadAllText
    Tüm dosyayı okur
    WriteAllText
    Üzerine yazar
    StreamReader
    Akış okur
    Exists
    Var mı diye bakar

Orta seviye bölümündeki tüm dersler