File.readAsString
- Dart kursu
- Orta seviye
- Ders 89/116
- 5 dk
File.readAsString ile dosya okumayı öğrenirsin.
Dosyayı dize olarak okumak
File.readAsStringSync() bir dosyanın tüm içeriğini dize olarak okur. Eş zamanlıdır; işlem bitene kadar program bekler. Önce dosyaya yaz, sonra oku.
Asenkron readAsString() bir Future<String> döndürür; await ile beklersin. Küçük dosyalarda eş zamanlı sürüm daha basittir.
Okuma sırasında dosya yoksa bir hata fırlatır. Bu yüzden önce existsSync() ile denetlemek güvenlidir.
Kodlama
readAsStringSync() varsayılan olarak UTF-8 kodlaması kullanır. Türkçe karakterler düzgün okunur. İstersen readAsStringSync(encoding: latin1) ile başka kodlama verebilirsin.
Yazarken de writeAsStringSync('metin') UTF-8 yazar. Kodlama tutarsızsa karakterler bozuk görünür ve okunamaz.
Dart dizeleri Unicode tabanlıdır; bu yüzden emoji ve Türkçe harf güvenle taşınır. Dosya içindeki harfler doğru kodlanmış sürece bozulmadan kalır.
Uygulama Yaz sonra oku
import 'dart:io'; ile kütüphaneyi içe aktar. main içinde File('veri.txt') oluştur; writeAsStringSync('Dart 3') ile yaz. Sonra readAsStringSync() ile okuyup print ile yazdır.
Başlangıç kodu
// dart:io kütüphanesini içe aktar
void main() {
// veri.txt dosyasına yaz, oku ve yazdır
}Örnek çözüm
import 'dart:io';
void main() {
var f = File('veri.txt');
f.writeAsStringSync('Dart 3');
print(f.readAsStringSync());
}Beklenen çıktı
Dart 3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 readAsStringSync() ne döndürür?
- Bir bool
- Bir Future
- Bir int
- Dize (String) Doğru cevap
Açıklama: readAsStringSync() bir dize döndürür.
2 readAsStringSync çağrısı
var f = File('not.txt');
var content = f.____();
var f = File('not.txt');
var content = f.readAsStringSync();
Açıklama: readAsStringSync() ile dosya okunur.
3 Okuma parçaları
| Kavram | Anlamı |
|---|---|
readAsStringSync() |
Eş zamanlı okuma |
readAsString() |
Asenkron okuma |
Future<String> |
Asenkron dönüş |
UTF-8 |
Kodlama |