Odak modu
FS (File System) modülü Node.js'in dosya ve klasör işlemleri yaparken kullandığı bir çekirdek modülüdür. Buradaki çekirdek modülü kavramıyla Node.js yazılımıyla birlikte gelmesidir, tekrar oluşturulmasına gerek yoktur ve kullanıma hazırdır. FS modülünü kullanmak için:
const fs = require('fs');
Modülün barındırdığı fonksiyonları incelediğimizde aynı fonksiyonun senkron ve asenkron versiyonları bulunmaktadır. Senkron fonksiyonlar, fonksiyon adı içerisinde Sync
kelimesi taşır. fs.readFile
asenkron, fs.readFileSync
senkron çalışan bir fonksiyondur.
Buradaki fonksiyonlarımızda kullanım yaygınlığı açısından asenkron versiyonlarını kullanacağız. Dosya okumak için fs.readFile
fonksiyonu kulancağız. Aşağıdaki kodumuzda aynı hiyeraşik dosya yapısı içerisinde bulunan password.txt
dosyası içerisindeki verileri okuyacağız.
fs.readFile('password.txt', 'utf8', (err, data) => { // callback fonksiyonu ile birlikte çalıştırıyoruz.
if (err) console.log(err); // hata kontrolü
console.log(data); // okunan verinin çıktısının alınması
})
Dosya oluşturmak ve sonrasında dosyaya verilerin yazılması için fs.writeFile
fonksiyonu kullanılır. Oluşturulacak dosya formatı da belirtilir. Aşağıda örnek olarak bir JSON dosyası oluşturacağız ve içerisine {"name": "Arin", "age": 6}
verisini yazdıracağız.
fs.writeFile('example.json', '{"name": "Arin", "age": 6}', 'utf8', (err) => {
if (err) console.log(err);
});
Var olan herhangi bir dosyaya veri eklemek için fs.appendFile
fonksiyonu kullanılır. Aşağıdaki örneğimizde example.txt dosyamızın yeni satırına 'YENI TEXT' stringini ekleyelim.
fs.appendFile('example.txt', '\n YENI TEXT', 'utf8', (err) => {
if (err) console.log(err);
});
Dosya silmek için fs.unlink
fonksiyonu kullanılır. Aşağıdaki örneğimizde example.json dosyasını siliyoruz.
fs.unlink('example.json', (err) => {
if (err) console.log(err);
});
Şimdi biraz da klasörler üzerine konuşalım. Klasör oluşturmak için fs.mkdir
fonksiyonu kullanılır. Klasör oluşturmada tekil değilde içiçe klasörler oluşturulmak istendiğinde fonksiyona { recursive: true }
parametresi eklenmelidir. Aşağıdaki örneğimizde uploads klasörü ve uploads klasörü içerisindeki img klasörü birlikte oluşturulur.
fs.mkdir('uploads/img', { recursive: true }, (err) => {
if (err) console.log(err);
}
Klasör silmek fs.rmdir
fonksiyonu kullanılır. Klasör silme işleminde de tekil değilde içiçe klasörlersilmek istendiğinde fonksiyona { recursive: true }
parametresi eklenmelidir. Aşağıdaki örneğimizde uploads klasörü ve uploads klasörü içerisindeki img klasörü birlikte silinecektir.
fs.rmdir('uploads', { recursive: true }, (err) => {
if (err) console.log(err);
})
Yazılım Kariyerinde İlerlemeni Hızlandıracak Programlar
Patika+ programlarımız ile 4-8 aylık yoğun yazılım kamplarına katıl, temel bilgilerden başlayarak kapsamlı bilgiler edin, yazılım kariyerine başla!
Yorum yapabilmek için derse kayıt olmalısın!