Руковање датотекама у ЈаваСцрипт-у

JavaScript je široko korišćen programski jezik koji omogućava manipulaciju fajlovima direktno u veb pregledaču. Hajde da zajedno naučimo kako se to radi!

NodeJS okruženje se često koristi za različite skripte koje uključuju rad sa fajlovima. NodeJS je, u suštini, okruženje za izvršavanje JavaScript koda izvan pregledača. Pretpostavlja se da imate osnovno razumevanje NodeJS-a.

Zaronimo u ovaj vodič i istražimo kako se upravlja fajlovima u JavaScriptu.

Upravljanje fajlovima u JavaScriptu

Upravljanje fajlovima podrazumeva različite akcije kao što su kreiranje, čitanje, izmena, preimenovanje i brisanje. Da bismo pristupili fajlovima iz sistema, potreban nam je mehanizam koji nam ne dozvoljava da pišemo direktno na hard disk. Zato NodeJS obezbeđuje modul nazvan `fs` (file system), koji služi za manipulaciju fajlovima.

Pogledajmo različite metode koje nam `fs` modul nudi.

fs.open()

Metoda `fs.open()` prima dva argumenta: putanju do fajla i mod.

Putanja se koristi da locira željeni fajl.

Mod argumenti se koriste za otvaranje fajla u različitim režimima, kao što su režim dodavanja, pisanja ili čitanja.

Ako otvorite fajl u određenom režimu, moći ćete da izvršavate samo operacije koje su u skladu sa tim režimom. U nastavku je lista modova i odgovarajućih operacija.

Mod
Operacija
‘r’
Otvara fajl u režimu čitanja
‘a’
Otvara fajl u režimu dodavanja
‘w’
Otvara fajl u režimu pisanja
‘a+’
Otvara fajl u režimu dodavanja i čitanja
‘w+’
Otvara fajl u režimu pisanja i čitanja
‘r+’
Otvara fajl u režimu čitanja i pisanja

Ukoliko fajl ne postoji na navedenoj putanji, biće kreiran novi, prazan fajl. Pogledajmo primer koda za otvaranje fajla u različitim režimima.

const fs = require("fs");

fs.open("sample.txt", "w", (err, file) => {
   if (err) throw err;
   console.log(file);
});

Metoda `fs.open()` će izbaciti grešku ako fajl ne postoji prilikom otvaranja u režimu čitanja. Kreiraće novi prazan fajl u režimima pisanja i dodavanja.

Nakon otvaranja fajla, možemo izvršavati različite operacije. Kompletan program ćemo napisati na kraju ovog vodiča, nakon što se upoznamo sa još nekim bitnim metodama iz `fs` modula.

fs.appendFile()

Metoda `fs.appendFile()` se koristi za dodavanje sadržaja na kraj fajla. Ukoliko fajl ne postoji na zadatoj putanji, biće kreiran novi. Dodajte deo sadržaja u fajl koristeći sledeći kod:

const fs = require("fs");

fs.appendFile("sample.txt", "Dodavanje sadržaja", (err) => {
   if (err) throw err;
   console.log("Završeno!");
});

fs.writeFile()

Metoda `fs.writeFile()` se koristi za upisivanje sadržaja u fajl. Ako fajl ne postoji na zadatoj putanji, biće kreiran novi. Isprobajte sledeći kod za upisivanje sadržaja u fajl:

const fs = require("fs");

fs.writeFile("sample.txt", "Upisivanje sadržaja", (err) => {
   if (err) throw err;
   console.log("Završeno!");
});

fs.readFile()

Metoda `fs.readFile()` se koristi za čitanje sadržaja iz fajla. Izbaciće grešku ako fajl ne postoji na zadatoj putanji. Ispitajte sledeći kod za ovu metodu:

const fs = require("fs");

fs.readFile("sample.txt", (err, data) => {
   if (err) throw err;
   console.log(data.toString());
});

fs.unlink()

Metoda `fs.unlink()` se koristi za brisanje fajla. Izbaciće grešku ako fajl ne postoji na zadatoj putanji. Pogledajte kod:

const fs = require("fs");

fs.unlink("sample.txt", (err) => {
   if (err) throw err;
   console.log("Fajl obrisan!");
});

fs.rename()

Metoda `fs.rename()` se koristi za preimenovanje fajla. Izbaciće grešku ako fajl ne postoji na zadatoj putanji. Preimenujte sledeći fajl pomoću sledećeg koda. Budite oprezni!

const fs = require("fs");

fs.rename("sample.txt", "sample_one.txt", (err) => {
   if (err) throw err;
   console.log("Fajl preimenovan!");
});

Dodatno

Sada ste upoznati sa različitim metodama za upravljanje fajlovima iz `fs` (file system) modula. Većinu operacija sa fajlovima možete obaviti koristeći metode koje ste videli u ovom vodiču. Kao što smo obećali, pogledajmo primer skripte koja otvara fajl i čita sadržaj iz njega koristeći metode `fs.open()` i `fs.readFile()`.

const fs = require("fs");

fs.open("sample.txt", "r", (err, file) => {
   if (err) throw err;
   fs.readFile(file, (err, data) => {
      if (err) throw err;
      console.log(data.toString());
   });
});

Zaključak

To je sve za ovaj vodič. Možete koristiti metode za upravljanje fajlovima da automatizujete neke dosadne zadatke u svakodnevnom radu. Nadamo se da ste naučili osnovne metode za rad sa fajlovima.

Srećno kodiranje 🙂