Darsliklar Dart Fayl

Dart Dart Fayl

Fayl bilan ishlash — ma’lumotni dastur yopilgandan keyin ham saqlab qolish usuli. O’zgaruvchilar dastur tugashi bilan yo’qoladi, fayldagi ma’lumot esa diskda qoladi. Dart’da bu vazifa uchun dart:io kutubxonasi ishlatiladi.

dart:ioDart’ning fayllar va kirish/chiqarish bilan ishlash uchun mo’ljallangan kutubxonasi. File klassi fayl o’qish va yozishni ta’minlaydi.

Kutubxonani ulash

Fayl bilan ishlash uchun dart:io ulanadi:

import 'dart:io';

void main() {
  var fayl = File('hisobot.txt');
  fayl.writeAsStringSync("UzbekDevs hisoboti\nBall: 95");
  print("Fayl yozildi");
}
Fayl yozildi

File('hisobot.txt') — fayl obyektini yaratdi, writeAsStringSync esa unga matn yozdi. Sync — bu amal tugaguncha kutishni bildiradi (sinxron).

Fayldan o’qish

Faylni readAsStringSync bilan butun matn sifatida o’qiymiz:

import 'dart:io';

void main() {
  var fayl = File('hisobot.txt');
  String tarkib = fayl.readAsStringSync();
  print(tarkib);
}
UzbekDevs hisoboti
Ball: 95

readAsStringSync butun fayl tarkibini o’qidi. Qatorma-qator o’qish uchun readAsLinesSync ishlatiladi, u ro’yxat qaytaradi.

Fayl amallari

File klassining asosiy metodlarini jadvalda ko’ramiz:

Metod Vazifasi
writeAsStringSync() matn yozadi
readAsStringSync() matn o’qiydi
readAsLinesSync() qatorlar ro’yxati
existsSync() mavjudligini tekshiradi
deleteSync() o’chiradi

Faylni tekshirish

Fayl bilan ishlashdan oldin uning borligini tekshirish — professional yondashuv:

import 'dart:io';

void main() {
  var fayl = File('hisobot.txt');
  if (fayl.existsSync()) {
    print("Fayl mavjud");
  } else {
    print("Fayl topilmadi");
  }
}
Fayl mavjud

existsSync() fayl bor-yo’qligini tekshiradi. Bu mavjud bo’lmagan faylni o’qishga urinishdan kelib chiqadigan xatoning oldini oladi.

Sinxron va asinxron

Diqqat: yuqoridagi metodlar Sync (sinxron) — ular fayl tugaguncha dasturni kutkazadi. Katta fayllar va ilovalar uchun asinxron (Syncsiz) variantlar afzal, ular dasturni bloklaydi. Asinxron dasturlashni keyingi darslarda batafsil ko’ramiz.

Xulosa

Bu bo’limda dart:io bilan fayl yozish (writeAsStringSync), o’qish (readAsStringSync), tekshirish (existsSync) va sinxron/asinxron farqini ko’rib chiqdik. Fayllar — ma’lumotni doimiy saqlashning asosi. Keyingi darsda JSON bilan ishlashga o’tamiz.