Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius.
Darbas su failais yra viena iš dažniausiai užduočių, kurias atlieka programa, todėl sutaupykite laiko ir pastangų naudodami Node pagalbinę biblioteką.
Viena iš integruotų Node.js funkcijų yra operacinės sistemos failų sistemos manipuliavimas naudojant fs modulį. Šiame Node.js modulyje yra daug naudingų funkcijų dirbant su failais ir katalogais.
Failai tiesiog vadinami išliekančiais objektais arba duomenų dalimis, kurios paprastai saugomos kietojoje laikmenoje, vadinamoje disku arba atmintimi. Failai gali būti įvairių tipų: nuo tekstinių failų iki vaizdo failų, garso failų ir daug daugiau.
Taigi, kas yra failų sistema ir kaip galite lengvai sąveikauti su operacinės sistemos failų sistema Node.js?
Kas yra failų sistema?
Failų sistema apibrėžia, kaip operacinė sistema gali identifikuoti, tvarkyti, saugoti ir pasiekti failus kartu su kitomis operacijomis.
Operacinės sistemos failų sistema taip pat atlieka failų grupavimą į rinkinius, vadinamus katalogais arba aplankais. Įprasti failai ir katalogai yra labiausiai paplitusios failų sistemos dalys, su kuriomis dažnai sąveikaujama, be kitų.
Kai kurie failų sistemų pavyzdžiai yra naujos technologijos failų sistema (NTFS), UNIX failų sistema (UFS) ir hierarchinė failų sistema (HFS).
Kas yra Node.js fs modulis?
Node.js fs modulis yra integruota Node.js biblioteka, skirta darbui su bet kurios operacinės sistemos, kuri palaiko Node, failų sistema. The fs modulis yra lengvai pasiekiamas ir yra biblioteka, skirta tokioms failų operacijoms kaip skaitymas iš failų arba duomenų rašymas į failus Node.js.
Jis labai dažnai naudojamas su kelias ir os moduliai įvairioms operacijoms su failais atlikti. Norėdami naudoti fs modulį savo programose, galite importuoti jį į šaltinio kodą, kaip parodyta toliau pateiktame kode.
// CommonJS
konst fs = reikalauti(„fs“)
// ES6
importuoti fs iš "fs"
Kas yra Node.js kelio modulis?
Galite naudoti Node.js kelias modulis, skirtas manipuliuoti failų keliais. Jame yra paslaugų, leidžiančių lengvai bendrauti su failų ir katalogų keliais. Naudojant fs ir kelias moduliai kartu atlikti užduotį yra įprasta praktika. Taip yra todėl, kad dauguma fs modulio funkcijos priklauso nuo kelių į tikslinius failus ar katalogus.
Galite importuoti kelias modulį į savo kodą naudodami toliau nurodytą sintaksę:
// CommonJS
konst kelias = reikalauti(„kelias“)
// ES6
importuoti kelias iš 'kelias'
Bendrosios prieigos prie failų sistemos Node.js funkcijos
Čia pateikiami dažniausiai naudojami Node.js fs ir kelias modulio funkcijas ir kaip jas naudoti sąveikaujant su failais ir katalogais.
Darbas su takais
-
path.resolve: Tai funkcija, skirta nustatyti kelią iš kelio instrukcijų, perduodamų kaip parametrai, sąrašo. Pavyzdžiui:
path.resolve('namai', 'projektai', 'internetas');
// grįžta/home/projects/web path.resolve('home/projects/web', '../mobile');
// grįžta/home/projects/mobile -
path.normalize: The normalizuoti funkcija grąžina teisingą ir normalizuotą kelią iš nurodyto įvesties kelio. Pavyzdžiui:
path.normalize('home/projects/web/../mobile/./code');
// grįžta namo/projektai/mobilusis/kodas -
path.join: Ši funkcija sukuria kelią iš kelių segmentų. Pavyzdžiui:
path.join('namai', 'projektai', '../', 'filmai');
// grįžta namo/filmai -
path.basename: The bazinis vardas funkcija grąžina galutinį kelio segmentą. Galite naudoti dviem būdais:
path.basename('home/projects/web/index.js');
// grąžina index.jspath.basename('home/projects/web/index.js', '.js');
// pašalina plėtinį ir grąžina indeksą -
path.dirname: Ši funkcija grąžina kelią į paskutinį nurodyto kelio katalogą. Pavyzdys:
path.dirname('home/projects/web/index.js');
// grįžta namo/projects/web -
path.extname: Naudodami šią funkciją galite gauti failo plėtinį iš nurodyto kelio.
path.extname('home/projects/web/index.js');
// grąžina „.js“
Failų atidarymas ir uždarymas
-
fs.open: Tai failo atidarymo arba kūrimo sinchroniškai Node.js funkcija. Sinchroninė forma fs.open yra fs.openSync. fs.open apriima keturis argumentus, kurie yra failo kelias, vėliavėlės, atviras režimas ir atgalinio skambinimo funkcija. Vėliavos ir atvirasrežimu turi numatytąją reikšmę, o daugiau apie jas galite sužinoti iš Node.js fs.open dokumentacija.
konst filePath = kelias.join (__adresas, '/videos/naujasVideo.mp4');
// __dirname grąžina kelią į dabartinį darbo katalogą.
// failo kelias =/videos/newVideo.mp4 fs.open (filePath, (klaida, fileDescriptor) => {
// tvarkyti klaidas
konsolė.log (fileDescriptor); // atspausdina sveikąjį skaičių, vaizduojantį failo aprašą
}) -
fs.close: Gera praktika visada uždaryti atidarytus failus, kai jų nebereikia. Node.js turi fs.close funkcija šiam tikslui:
fs.open (filePath, (klaida, fileDescriptor) => {
// tvarkyti klaidas, tokias kaip „failas/katalogas neegzistuoja“
konsolė.log (fileDescriptor);// uždarykite failą
fs.close (fileDescriptor, (klaida) => {
// tvarkyti klaidas
konsolė.log('Failas sėkmingai uždarytas');
});
})
Sukūrimas ir ištrynimas
-
fs.mkdir: Tai veikia taip pat kaip mkdir terminalo komanda, kuri sukuria naują katalogą. Kaip parametrus jis naudoja kelią, režimą (neprivaloma) ir atgalinio skambinimo funkciją. Galite naudoti taip:
konst dirPath = kelias.join (__adresas, 'naujasKatalogas');
fs.mkdir (dirPath, (klaida) => {
// tvarkyti klaidas
konsolė.log('Sėkmingai sukurtas naujas katalogas');
}); -
fs.unlink: Ši funkcija pašalina arba ištrina failą kelyje, perduotu kaip argumentas. Apsvarstykite toliau pateiktą kodo pavyzdį:
konst filePath = kelias.join (_dirname, 'oldFile.js');
fs.unlink (filePath, (klaida) => {
// tvarkyti klaidas
konsolė.log('Failas sėkmingai ištrintas');
}); -
fs.rmdir: Šis metodas ištrina katalogą nurodytu keliu. Jis labai panašus į atsiejimo metodą:
konst dirPath = path.resolve('namai', 'projektai', 'žiniatinklis');
fs.rmdir (dirPath, (klaida) => {
// tvarkyti klaidas
konsolė.log('Katalogas sėkmingai ištrintas');
})
-
fs.egzistuoja: The egzistuoja metodas patikrina, ar tam tikrame kelyje esantis failas egzistuoja. Įgyvendinimas yra toks:
leisti filePath = kelias.join (__adresas, 'index.html');
fs.exists (filePath, (egzistuoja) => {
konsolė.log (yra) // tiesa ar melas
}) -
fs.stat: Tai sinchroninė funkcija, grąžinanti failo ypatybes. Tai grąžina an fs. Statistika objektą, kuris atskleidžia kai kuriuos metodus, leidžiančius pasiekti failo savybes. Štai pavyzdys:
fs.stat('index.js', (klaida, statistika) => {
konsolė.log (statistika); // spausdina žemo lygio failo ypatybes
stats.isFile(); // grąžina tiesa
stats.isDirectory(); // grąžina false
})
Turėtumėte naudoti kelias metodus, kai dirbate su failų keliais, nes jie apsaugo jus nuo netikėto elgesio įvairiose platformose. The Node.js fs ir Node.js kelias dokumentuose aprašomas išsamus metodų sąrašas.
Failų sistemos manipuliavimas Node.js
Platybės fs modulis leidžia labai lengvai pasiekti ir sąveikauti su failais bet kurioje operacinėje sistemoje. Kai naudojate kartu su kelias modulis, esate atviras daugiau funkcijų ir galite manipuliuoti failų sistema, kaip norite.
Pagrindinis Node.js pranašumas yra jo perkeliamumas. Galite kurti savo programas bet kurioje platformoje ir įdiegti jas bet kur, nesijaudindami dėl pagrindinių suderinamumo problemų.