File.writeAsString
- Dart kursu
- Orta seviye
- Ders 90/116
- 5 dk
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
// dart:io kütüphanesini içe aktar
void main() {
// gunluk.txt dosyasına yaz, ekle, oku ve yazdır
}Örnek çözüm
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
f.writeAsStringSync('metin', mode: ____);
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 |