Fayllar bilan ishlash — ma’lumotni dastur yopilgandan keyin ham saqlab qolish usuli. O’zgaruvchilar dastur tugashi bilan yo’qoladi, fayldagi ma’lumot esa diskda qoladi. Hisobotlar, sozlamalar, loglar — barchasi fayllarda saqlanadi. C#’da bu vazifa uchun System.IO kutubxonasi ishlatiladi.
System.IO — C#’ning fayllar bilan ishlash uchun mo’ljallangan kutubxonasi.
Fileklassi fayl o’qish, yozish va tekshirishni soddalashtiradi.
Faylga yozish
File.WriteAllText butun matnni faylga bir buyruq bilan yozadi:
using System;
using System.IO;
File.WriteAllText("hisobot.txt", "UzbekDevs hisoboti\nBall: 95");
Console.WriteLine("Fayl yozildi");
Fayl yozildi
File.WriteAllText faylni yaratib (yoki mavjudini almashtirib), matnni yozdi. \n yangi qatorni bildiradi. Bu — faylga yozishning eng sodda usuli.
Fayldan o’qish
File.ReadAllText butun faylni bitta matn sifatida o’qiydi, File.ReadAllLines esa qatorlar massivini beradi:
using System;
using System.IO;
string tarkib = File.ReadAllText("hisobot.txt");
Console.WriteLine(tarkib);
string[] qatorlar = File.ReadAllLines("hisobot.txt");
Console.WriteLine($"Qatorlar soni: {qatorlar.Length}");
UzbekDevs hisoboti
Ball: 95
Qatorlar soni: 2
ReadAllText butun faylni, ReadAllLines esa har bir qatorni alohida element sifatida qaytardi. Katta fayllar uchun qatorma-qator o’qish tejamkorroq.
Fayl amallari
C# fayllar ustidagi asosiy amallarni jadvalda ko’ramiz:
| Metod | Vazifasi |
|---|---|
File.WriteAllText() |
matn yozadi |
File.ReadAllText() |
matn o’qiydi |
File.AppendAllText() |
oxiriga qo’shadi |
File.Exists() |
mavjudligini tekshiradi |
File.Delete() |
o’chiradi |
Fayl mavjudligini tekshirish
Fayl bilan ishlashdan oldin uning borligini tekshirish — professional yondashuv:
using System;
using System.IO;
if (File.Exists("hisobot.txt"))
{
Console.WriteLine("Fayl mavjud");
File.AppendAllText("hisobot.txt", "\nYangi yozuv");
}
else
{
Console.WriteLine("Fayl topilmadi");
}
Fayl mavjud
File.Exists() fayl bor-yo’qligini tekshiradi, File.AppendAllText() esa mavjud faylga qo’shadi. Bu tekshiruv kutilmagan xatolarning oldini oladi.
Xulosa
Bu bo’limda File klassi bilan yozish (WriteAllText), o’qish (ReadAllText, ReadAllLines), qo’shish (AppendAllText) va tekshirish (Exists) ni ko’rib chiqdik. Fayllar — ma’lumotni doimiy saqlashning asosi. Keyingi darsda xatolarni boshqarish — try va catch bilan bu C# qo’llanmasini yakunlaymiz.