Node.js File system

Uvod

Razumevanje file sistema u Node.js ključno je za razvoj aplikacija koje zahtevaju čitanje, pisanje i manipulaciju fajlovima. Node.js nudi fs modul, koji omogućava sinhrono i asinhrono upravljanje fajlovima. Ovaj članak detaljno objašnjava kako koristiti fs modul u Node.js.

fs modul je deo Node.js API-ja koji omogućava rad sa fajl sistemom. Modul se može učitati korišćenjem require funkcije:

file sistem

Čitanje fajlova

Da biste čitali sadržaj fajla, možete koristiti fs.readFile za asinhrono čitanje ili fs.readFileSync za sinhrono čitanje. Na primer:

Asinhrono čitanje sa callback-om:

Asinhrono čitanje sa promisima:

Sinhrono čitanje:

Pisanje u fajlove

Za pisanje u fajlove, fs modul nudi fs.writeFile za asinhrono pisanje i fs.writeFileSync za sinhrono pisanje. Na primer:

Asinhrono pisanje sa callback-om:

Asinhrono pisanje sa promisima:

Sinhrono pisanje:

Pisanje otvorenog fajla

Ukoliko želimo da imamo detaljnu kontrolu nad procesom pisanja, uključujući mogućnost da odredimo kako će se pisanje odvijati (kreiranje novog fajla, dodavanje na kraj postojećeg, itd.) i mogućnost upravljanja resursima onda možemo primeniti sledeći pristup:

Rad sa direktorijumima

fs modul takođe omogućava kreiranje, čitanje i brisanje direktorijuma. Na primer:

Kreiranje direktorijuma sa callback-om:

Kreiranje direktorijuma sa promisima:

Čitanje sadržaja direktorijuma sa callback-om:

Čitanje direktorijuma sa promisima:

Brisanje direktorijuma sa callback-om:

Čitanje otvorenog fajla

Ukoliko ipak želimo da imamo finu kontrolu nad čitanjem, kao što je specifikacija tačne pozicije odakle želite početi čitanje unutar fajla i koliko podataka želite pročitati onda možemo koristiti sledeći pristup

Bilo bi poželjno da buffer prilagodimo veličini fajla a to ćemo uraditi korišćenjem fs.fstat (ili fs.stat za asinhrono dobijanje informacija o fajlu pre čitanja), gde ćemo na taj način alocirati bafer tačno po meri sadržaja fajla, što čini čitanje efikasnijim, posebno za manje fajlove.

Brisanje direktorijuma sa promisima:

Praćenje promena fajla

U Node.js, watch metoda iz fs modula omogućava praćenje promena na fajlovima ili direktorijumima. Ova funkcionalnost je korisna kada želite da automatski odgovorite na promene, kao što su ažuriranja fajlova, bez potrebe za ručnim osvežavanjem ili ponovnim pokretanjem aplikacije. Evo kako funkcioniše:

Ili uz korišćenje promisa:

Kada koristite fs.watch, on može emitovati dva glavna tipa događaja: ‘change’ i ‘rename’. Događaj ‘change’ se odnosi na izmenu sadržaja fajla, dok ‘rename’ ukazuje na promenu u strukturi direktorijuma (npr. kreiranje novog fajla, preimenovanje ili brisanje fajla).