CodeBlanks Logo Icon CodeBlanks

File.writeAsString

File.writeAsString ile dosyaya yazmayı öğrenirsin.

Dosyaya dize yazmak

File.writeAsStringSync('metin') bir dosyaya dize yazar. Varsayılan olarak dosyayı baştan yazar (üzerine yazar). FileMode.append ile sona eklersin.

Örnek: f.writeAsStringSync('yeni satır', mode: FileMode.append) dosyanın sonuna 'yeni satır' ekler. Üzerine yazmaz.

flush: true ile yazmanın hemen diske gitmesini sağlarsın. Varsayılan olarak Dart yazmayı önbellekler.

Üzerine yazma ve ekleme

Üzerine yazma eski içeriği siler ve yenisini koyar. Ekleme (append) ise eski içeriği korur ve sonuna yazar. Doğru kipi seçmek veri kaybını önler.

Örneğin günlük tutuyorsan FileMode.append ile her günün kaydını sona eklersin. Üzerine yazma yalnızca dosyayı sıfırdan kurarken istenir.

İki kez aynı dosyaya yazarken await ya da eş zamanlı metot kullan; kesik yazma olmasın.

Uygulama İki satır ekle

import 'dart:io'; ile kütüphaneyi içe aktar. main içinde File('gunluk.txt') oluştur. Önce writeAsStringSync('birinci') ile yaz. Sonra writeAsStringSync(' ikinci', mode: FileMode.append) ile ekle. Sonra readAsStringSync() ile okuyup print ile yazdır.

Başlangıç kodu

main.dart
// dart:io kütüphanesini içe aktar

void main() {
  // gunluk.txt dosyasına yaz, ekle, oku ve yazdır
}

Örnek çözüm

main.dart
import 'dart:io';

void main() {
  var f = File('gunluk.txt');
  f.writeAsStringSync('birinci');
  f.writeAsStringSync(' ikinci', mode: FileMode.append);
  print(f.readAsStringSync());
}

Beklenen çıktı

birinci ikinci

Soru ve cevaplar

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

1 Append kipi

Soru
f.writeAsStringSync('metin', mode: ____);
Cevap
f.writeAsStringSync('metin', mode: FileMode.append);

Açıklama: FileMode.append sona ekler.

2 writeAsStringSync varsayılan davranışı nedir?

  • Üzerine yazar Doğru cevap
  • Hata fırlatır
  • Sona ekler
  • Dosyayı siler

Açıklama: varsayılan olarak dosyanın üzerine yazar.

3 Yazma parçaları

Kavram Anlamı
writeAsStringSync() Eş zamanlı yazma
FileMode.append Sona ekleme
FileMode.write Üzerine yazma
flush: true Önbellek boşaltma

Orta seviye bölümündeki tüm dersler