CodeBlanks Logo Icon CodeBlanks

Özet - Dosya I/O

  • C# kursu
  • Orta seviye
  • Ders 105/116
  • 5 dk

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.

Başlangıç kodu

Program.cs
using System;
using System.IO;

class Program
{
    static void Main()
    {
        // Notu kaydet, varsa oku ve yazdır; yoksa "Not yok" yaz
    }
}

Örnek çözüm

Program.cs
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");
        }
    }
}

Beklenen çıktı

Bugün hava güzel

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.

Başlangıç kodu

Program.cs
using System;
using System.IO;

class Program
{
    static void Main()
    {
        // StreamWriter ile yaz, ReadAllLines ile oku
    }
}

Örnek çözüm

Program.cs
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);
        }
    }
}

Beklenen çıktı

Sabah
Akşam

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

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

  • StreamReader Doğru cevap
  • File.Exists
  • File.ReadAllText
  • File.Delete

Açıklama: 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

Kavram Anlamı
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