Özet - Dosya I/O
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
-
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.
-
Metodu amacına eşle
- ReadAllText
- Tüm dosyayı okur
- WriteAllText
- Üzerine yazar
- StreamReader
- Akış okur
- Exists
- Var mı diye bakar