Ö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
using System;
using System.IO;
class Program
{
static void Main()
{
// Notu kaydet, varsa oku ve yazdır; yoksa "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");
}
}
}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
using System;
using System.IO;
class Program
{
static void Main()
{
// StreamWriter ile yaz, ReadAllLines ile oku
}
}Ö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);
}
}
}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 |