Node.js, dosya işlemlerini kolaylaştıran fs
(File System) modülü ile donatılmıştır. Bu makalede, fs
modülünü kullanarak dosya okuma ve yazma işlemlerini, hem senkron hem de asenkron olarak nasıl gerçekleştirebileceğimizi inceleyeceğiz.
Modülün İçe Aktarılması: fs
modülünü kullanmaya başlamak için, require
fonksiyonu ile içe aktarmamız gerekmektedir: const fs = require('node:fs');
.
Senkron Dosya Okuma: readFileSync
metodu, belirtilen dosyayı senkron olarak okur. Bu işlem sırasında JavaScript motoru diğer işlemleri durdurur. Kullanımı:
// Senkron
const txtFile = fs.readFileSync("./file.txt", "utf-8");
console.log(txtFile.toString());
Asenkron Dosya Okuma: readFile
metodu, dosya okuma işlemini asenkron olarak gerçekleştirir ve bir geri çağırma fonksiyonu alır. Bu sayede uygulamanın diğer işlemleri bloklanmaz:
// Asenkron
fs.readFile("./file.txt", (err, data) => {
if (err) {
console.log("Dosya okunurken hata oluştu:", err);
} else {
console.log(data.toString());
}
});
Senkron Dosya Yazma: writeFileSync
metodu, dosyanın içeriğini belirtilen metinle senkron olarak değiştirir. Bu işlem sırasında diğer JavaScript işlemleri bekletilir:
// Dosya içi yazıyı senkron değiştirme
fs.writeFileSync("./file.txt", "Hello World!");
Asenkron Dosya Yazma: writeFile
metodu, dosya yazma işlemini asenkron olarak gerçekleştirir. Bu metodun asenkron olması, uygulamanın diğer işlemlerinin bu süreçten etkilenmemesini sağlar:
// Dosya içi yazıyı asenkron değiştirme
fs.writeFileSync("./file.txt", "Hello World!", (err) => {
if (err) {
console.log("Dosya yazılırken bir hata oluştu.", err);
} else {
console.log("Dosya başarıyla yazıldı!");
}
});
Asenkron Append ile Dosya Yazma: writeFile
metodu, flag
seçeneği ile birlikte kullanıldığında, mevcut dosya içeriğinin sonuna yeni içerik ekleyebilir:
// Dosya içi yazıyı asenkron append ile yazının sonuna istenilen yazıyı ekleme
fs.writeFile("./file.txt", "Hello World!", { flag: "a" }, (err) => {
if (err) {
console.log("Dosya yazılırken bir hata oluştu.", err);
} else {
console.log("Dosya başarıyla yazıldı!");
}
});
Bu makalede Node.js'in fs
modülünü kullanarak dosya okuma ve yazma işlemlerinin nasıl yapıldığını gördük. Senkron ve asenkron metodlar, farklı senaryolara göre tercih edilebilir. Asenkron işlemler, uygulamanın performansını artırırken, senkron işlemler bazı durumlarda daha uygun olabilir.
fs
modülünün Node.js'te nasıl kullanılacağı.
Dosya okuma ve yazma işlemlerinin senkron ve asenkron yolları.
Uygulamanın performansını etkileyebilecek senkron ve asenkron işlemlerin avantajları ve dezavantajları.
Pratik örneklerle fs
modülünün kullanımı.