Kaip pašalinti failus iš Node.js naudojant „fs.unlink“?

Kaip Pasalinti Failus Is Node Js Naudojant Fs Unlink



Failų sistema ' fs “ modulis pateikia įvairius metodus, kuriais galima lengvai atlikti pagrindines operacijas, tokias kaip skaitymas, failas, trynimas, pridėjimas ir kitos susijusios operacijos. Tačiau ištrynimo operaciją kūrėjai dažniausiai atlieka kasdien. Šią ištrynimo operaciją galima atlikti tiesiogiai naudojant GUI sąsają arba naudojant „ fs “ modulio metodas pavadinimu “ atsieti () “.

Šiame vadove paaiškinama, kaip pašalinti failus iš Node.js naudojant „fs.unlink()“, paaiškinant toliau pateiktus skyrius:

Kaip pašalinti failą naudojant „fs.unlink()“ metodą

fs.unlink() “ yra sinchroninis arba blokuojantis metodas, nes jis sustabdo visų kitų procesų vykdymą, kol nurodytas failas bus visiškai ištrintas. Šis ' fs.unlink() 'metodas taip pat gali būti naudojamas norint pašalinti priskirtą ' simbolinis “ nuorodos, nukreipiančios į tikslinę failų sistemą.





Sintaksė



fs.unlink() “ metodo sintaksė parodyta žemiau:



fsObj. atsieti ( filePath, callbackFunc )

Aukščiau pateiktoje sintaksėje:





  • fsObj “ yra kintamasis, kuris veikia kaip „objektas“ fs “ modulis.
  • bylos kelias “ yra projekto kataloge esančio failo, kurį reikia ištrinti, kelias.
  • atgalinis skambutisFunc “ – tai reikalinga rodyklės funkcija, padedanti rodyti rezultatų pranešimus arba klaidas, atsiradusias apdorojimo metu.

Peržiūrėkime keletą pavyzdžių, kaip praktiškai įgyvendinti „fs.unlink()“ metodą.

1 pavyzdys: „fs.unlink()“ metodo naudojimas failui pašalinti

Šiame pavyzdyje atsitiktinis projekto failas bus ištrintas arba pašalintas iš failo iš projekto katalogo naudojant „ fs.unlink() “ metodas. Jo praktinis įgyvendinimas parodytas žemiau esančiame kodo bloke:



buvo deleteFile = reikalauti ( 'fs' ) ;

Ištrinti failą. atsieti ( 'linuxhintFile.txt' , funkcija ( klaida ) {

jeigu ( klaida ) mesti klaida ;

konsolė. žurnalas ( 'Failo ištrynimo operacija atlikta sėkmingai!' ) ;

} ) ;

konsolė. žurnalas ( „Ištrynimo operacija baigta!“ ) ;

Aukščiau pateiktame kodo bloke:

  • Pirma, „ fs ' modulis buvo importuotas ir jo objektas yra saugomas naujame kintamajame pavadinimu ' Ištrinti failą “.
  • Tada ' atsieti () “ metodas iškviečiamas naudojant kintamąjį, o failo pavadinimas, kurį reikia ištrinti, perduodamas kaip pirmasis parametras.
  • Antroji atgalinio skambinimo funkcija taip pat naudojama norint užfiksuoti ir parodyti bet kokias klaidas, įvykusias baigiant operaciją.
  • Jei klaidos nėra, parodykite sėkmės pranešimą. Norėdami patvirtinti asinchroninį šio metodo veikimą, parašykite kodą, kuris rodo netikrą pranešimą už ' atsieti () “ metodo taikymo sritis.

Išsaugokite aukščiau pateiktą kodą norimame faile, kurio plėtinys yra ' .js ' kuris yra ' proApp.js “ mūsų atveju ir paleiskite toliau pateiktą komandą, kad atliktumėte vykdymą:

mazgas proApp. js

Sugeneruota išvestis rodo, kad pasirinktas failas buvo ištrintas iš projekto katalogo. Be to, asinchroninis šio metodo elgesys patvirtinamas, nes pirmiausia įvykdomas pranešimas, parašytas po metodo:

2 pavyzdys: „fs.unlink()“ metodo naudojimas simbolinei nuorodai pašalinti

simbolinis “ nuorodos faile fiziškai neegzistuoja, tačiau jose yra santykinis arba absoliutus kelias kaip nuoroda į kitus pridėtus failus. Jo naudojimas gali padidinti programos našumą ir sunaudoti mažiau vietos. Ši simbolinė nuoroda sukurta naudojant „ fs.symlinkSync() “ arba „ fs.symlinkSync() “ metodus, o jei norite ištrinti „ fs.unlink() “ naudojamas, kaip parodyta žemiau:

konst fsObj = reikalauti ( 'fs' ) ;

// Simbolinės nuorodos nustatymas
fsObj. symlinkSync ( __dirname + \\ index.html' , 'simbolinis failas' ) ;
konsolė. žurnalas ( \n Sukurta simbolinė nuoroda į index.html failą' ) ;

RetrieveFiles ( ) ;

fsObj. atsieti ( 'simbolinis failas' , ( klaida => {
jeigu ( klaida ) konsolė. žurnalas ( klaida ) ;
Kitas {
konsolė. žurnalas ( \n Ištrinta nustatyta nuoroda: symbolicFile' ) ;
// Ištrynus gauti failus dabartiniame kataloge
RetrieveFiles ( ) ;
}
}
) ) ;

// Funkcija gauti dabartinius failų pavadinimus kataloge su konkrečiu plėtiniu
funkcija retrieveFiles ( ) {
konsolė. žurnalas ( \n Galimi failai dabartiniame projekte:' ) ;
leisti turtą = fsObj. readdirSync ( __dirname ) ;
turto. kiekvienam ( turtas => {
konsolė. žurnalas ( turtas ) ;
} ) ;
}

Aukščiau pateikto kodo bloko paaiškinimas yra toks:

  • Importuoti ' fs “ modulį ir išsaugokite jo objektą „ fsObj “ pavadintas kintamasis.
  • Sukurkite simbolinę nuorodą į dabartinį projekto failą pavadinimu ' index.html “ ir priskirkite pavadinimą „ simbolinis failas “ į sukurtą simbolinės nuorodos failą. „ __dirname ypatybė naudojama absoliučiam dabartinio projekto katalogo keliui nuskaityti.
  • Su ' console.log() “ metodas rodo sėkmės pranešimą ir iškviečia pasirinktinai apibrėžtą „ RetrieveFiles () ' funkcija.
  • Dabar iškvieskite „ atsieti () “ metodas per “ fsObj “ ir nurodykite simbolinį failo pavadinimą kaip pirmąjį parametrą, kurį reikia ištrinti. Šiam metodui reikalinga atgalinio skambinimo funkcija, kuri naudojama visoms atsiradusioms klaidoms užfiksuoti ir parodyti.
  • Parodykite ištrynimo pranešimą ir vėl iškvieskite „ RetrieveFiles () “ funkciją, jei nėra klaidų.
  • Po to apibrėžkite „ RetrieveFiles () “ funkcija, kuri nuskaito esamus projekto katalogus naudodama „ readdirSync () ' funkcija. Galiausiai visi esantys katalogai rodomi per konsolę naudojant patobulintą ' kiekvienam “ kilpa.

Dabar paleiskite aukščiau pateiktą kodą vykdydami „ .js “ tipo failą. Mūsų atveju failas, kuriame yra „ proApp.js “, taigi, mūsų komanda vykdyti bus tokia:

mazgas proApp. js

Sugeneruota išvestis rodo, kad simbolinė nuoroda buvo sukurta ir ištrinta per „ fs.unlink() “ metodas:

Papildomas patarimas: kas yra „fs.unlinkSync()“ metodas?

unlinkSync() “ metodą taip pat teikia „ fs “ modulis; tai yra ' sinchroninis “ versija atsieti () “ metodas. „ unlinkSync() “ metodas gali būti naudojamas norint atlikti tas pačias failo ar simbolinių failų ištrynimo operacijas, bet sinchroniniu būdu. Jis blokuoja visus įveikiamus procesus, kol tikslinis failas nebus ištrintas, kaip parodyta toliau:

buvo deleteFile = reikalauti ( 'fs' ) ;

Ištrinti failą. atsieti sinchronizavimą ( 'linuxhintFile.txt' ) ;

konsolė. žurnalas ( „Ištrynimo operacija baigta!“ ) ;

Aukščiau esančiame kodo bloke:

  • Pirma, „ fs ' modulis buvo importuotas ir jo objektas yra saugomas naujame kintamajame pavadinimu ' Ištrinti failą “.
  • Tada ' unlinkSync() “ metodas vadinamas naudojant „ Ištrinti failą “ kintamasis, o failo pavadinimas, kurį reikia ištrinti, perduodamas kaip jo parametras.
  • Norėdami patvirtinti „ sinchroninis “, parašykite kodą, kuris šalia „ unlinkSync() “ metodas.

Išsaugokite aukščiau pateiktą kodą norimame faile, kurio plėtinys yra ' .js ' kuris yra ' proApp.js “ mūsų atveju ir paleiskite toliau pateiktą komandą, kad atliktumėte vykdymą:

Tai viskas apie failų pašalinimą iš Node.js naudojant 'fs.unlink()' metodą.

Išvada

Norėdami pašalinti failus iš Node.js, nurodykite tikslinį failo kelią kaip pirmąjį, o atgalinio skambinimo funkciją, kad būtų galima apdoroti klaidas ir atlikti kitus veiksmus, kaip antrąjį parametrą „ atsieti () “ metodas. „ atsieti () “ metodas taip pat naudojamas simboliniams susietiems failams ištrinti. Šis metodas turi sinchroninę versiją, taip pat pavadintą „ unlinkSync() “ metodas, kuris veikia panašiai kaip “ atsieti () “ metodą, tačiau jis neapima „ perskambink “ funkcijos dalis. Šiame vadove paaiškintas failų pašalinimo procesas naudojant „ fs.unlink() “ metodas.