readFile
- Node.js kursu
- Başlangıç
- Ders 101/116
- 5 dk
fs.readFile ile dosya okumayı öğrenirsin.
readFile ile oku
fs.readFile bir dosyayı asenkron olarak okur ve Promise döndürür. İkinci parametre olarak 'utf8' verirsen sonuç dize olarak gelir; verilmezse Buffer döner.
import fs from 'fs/promises';
const data = await fs.readFile('notes.txt', 'utf8');
console.log(data);Burada readFile dosyanın tüm içeriğini belleğe yükler; küçük ve orta boy dosyalar için uygundur. Çok büyük dosyalarda createReadStream kullanmak bellek tüketimini azaltır. Dosya yoksa Promise reddedilir ve ENOENT hatası fırlatır.
Uygulama Sıra sende: readFile ile içerik oku
import fs from 'fs/promises' ile başla. Bir async function run() tanımla. Önce await fs.writeFile('notes.txt', 'merhaba dünya') ile dosyaya yaz. Sonra const data = await fs.readFile('notes.txt', 'utf8') ile oku ve console.log(data) ile yazdır. run() çağır.
Başlangıç kodu
// fs/promises içe aktar
// async function run tanımla
// writeFile ile yaz, readFile ile oku, console.log ile yazdır
// run'u çağırÖrnek çözüm
import fs from 'fs/promises';
async function run() {
await fs.writeFile('notes.txt', 'merhaba dünya');
const data = await fs.readFile('notes.txt', 'utf8');
console.log(data);
}
run();Beklenen çıktı
merhaba dünya
Hata yönetimi
Dosya yoksa fs.readFile reddedilen bir Promise döndürür ve ENOENT hatası fırlatır. Hatayı try/catch ile yakalayabilirsin; böylece dosya eksikse alternatif bir yol izlersin.
try {
const data = await fs.readFile('yok.txt', 'utf8');
} catch (err) {
console.error('dosya yok');
}Bu örüntü, dosya işlemlerinde yaygındır. err.code alanı 'ENOENT' ise dosya bulunamadı demektir; başka bir hata koduysa farklı bir sorun vardır. Hataları yakalamak, uygulamanın çökmeden devam etmesini sağlar.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Boşluğu doldur: readFile
const data = await fs.____('notes.txt', 'utf8');
console.log(data);
const data = await fs.readFile('notes.txt', 'utf8');
console.log(data);
Açıklama: readFile ile dosyayı okursun.
2 fs.readFile çağrısında 'utf8' parametresi ne işe yarar?
- Dosyayı sıkıştırır
- Sonucun dize olarak dönmesini sağlar Doğru cevap
- Dosyayı kilitler
- İşlemi senkron yapar
Açıklama: utf8 parametresi sonuçu dize olarak verir.
3 readFile kavramları
| Kavram | Anlamı |
|---|---|
readFile |
dosyayı okur |
utf8 |
dize olarak döner |
ENOENT |
dosya yok hatası |