Hvordan opdager man, at den forudsatte sti er en fil eller mappe i Node.js?

Hvordan Opdager Man At Den Forudsatte Sti Er En Fil Eller Mappe I Node Js



Det er vigtigt at opdage filenheden, især når dine applikationer beskæftiger sig med administration af en fil eller gemmer brugerdata i specifikke mapper. Fordi enkelte mapper kan indeholde flere filer, involverer den handling, der kan anvendes på dem, flytning af filer til en anden mappe eller sletning af alle eksisterende filer.

Det samme gælder for en fil, dens operationer kan omfatte ændring af filen, indsættelse af data i filen eller sletning af en enkelt. Hele applikationen vil blive rodet, hvis udvikleren anvender filoperationer over mapper eller omvendt.

Denne artikel vil illustrere fremgangsmåderne til at opdage, om den angivne sti er en fil eller en mappe ved at dække disse metoder:







Hvordan opdager man, at den forudsatte sti er en fil eller mappe i Node.js?

Der er to metoder tilvejebragt af ' fs ' modul nemlig ' isDirectory() ' og ' isFile() ” som udelukkende har til formål at kontrollere, om den angivne sti fører til en fil eller et bibliotek. Disse metoder bruges i både synkrone og asynkrone scenarier ved hjælp af ' statSync() ' og ' stat() ' metoder. Disse to metoder er vist nedenfor for at opdage, om den angivne sti fører til en fil eller et bibliotek.



Metode 1: 'statSync()'-metoden til at opdage stien, der fører til mappen eller filen

Det ' statSync() ” metode leveret af “ fs ” modul bruges grundlæggende til at udføre synkrone operationer. Denne metode i vores tilfælde gemmer kun forekomsten af ​​den angivne sti én gang. Derefter tildeler den ' isDirectory() ' og ' isFile() ” metoder til at returnere, om den angivne sti fører til en mappe eller fil.



Lad os besøge nedenstående kodestykke for den praktiske implementering af 'statSync()'-metoden:





konst fsObj = kræve ( 'fs' ) ;

lad pathFile = fsObj. statSync ( '/Users/kahou/Documents/readlineProj/mcu.db' ) ;

konsol. log ( 'Leder stien til en fil? ' + stifil. isFile ( ) ) ;

stiDir = fsObj. statSync ( '/Users/kahou/Documents/readlineProj' ) ;

konsol. log ( 'Er der givet sti fører til en mappe? ' + stiDir. isDirectory ( ) ) ;

Forklaringen på den ovenfor angivne kode er angivet nedenfor:

  • Først skal du importere ' fs '-modul og gem dets instans i en ' fsObj ' variabel.
  • Påkald derefter ' statSync() ' metode ved hjælp af ' fsObj ” variabel og sende den valgte sti inden for dens parentes. Gem referencen til denne sti i ' stifil ' variabel.
  • Tildel derefter ' isFile() ' metode med ' stifil ” for at returnere en boolesk værdi, som viser, om den angivne sti fører til en fil eller ej.
  • Derefter påberåber du igen ' statSync() ”-metoden og bestå den nye vej.
  • Til sidst vedhæft ' isDirectory() ' metode med værdien returneret af ' startSync() ” metode.

Udfør nu den aktuelle fil ved hjælp af nedenstående kommando:



'node '

For eksempel har vi udført filen 'app.js':

Udgangen viser værdien af ​​' rigtigt ” returneres betyder, at de angivne stier er til mappen, og at filen er blevet fundet.

Metode 2: 'stat()'-metoden til at opdage stien, der fører til mappen eller filen

En anden metode, der fungerer perfekt til det asynkrone miljø, er kendt som ' stat() '-metoden, som leveres af ' fs ” modul. Den bruger også det samme ' isFile() ' og ' isDirectory() ”-metoder, men på grund af dens asynkrone natur kan den enkelte sti overføres til begge metoder. Den har to parametre, den første gemmer sti og den anden er en tilbagekaldsfunktion, der udfører nogle handlinger over den angivne sti:

konst fsObj = kræve ( 'fs' ) ,
testPath = '/Users/kahou/Documents/readlineProj'

// Brug stat() metode
fsObj. stat ( testPath , ( fejl , statObj ) => {
hvis ( ! fejl ) {
hvis ( statObj. isFile ( ) ) {
konsol. log ( ' \n Ja! Forudsat sti fører til en fil? ' ) ;
}
andet hvis ( statObj. isDirectory ( ) ) {
konsol. log ( ' \n Ja! Forudsat sti fører til en mappe? ' ) ;
}
}
andet
kaste fejl ;
} ) ;

Forklaringen på den ovenfor angivne kode er vist nedenfor:

  • Først skal du importere ' fs ' modul og gem dets instans i en ' fsObj ' variabel. Lave en ' testPath variabel, der gemmer den angivne sti af testeren.
  • Påkald nu ' stat() '-metoden og bestå ' testPath ” som den første parameter og en tilbagekaldsfunktion som den anden parameter.
  • Tilbagekaldsfunktionen indeholder ' fejl ' som den første parameter og ' statObj ” som den anden. Det ' fejl ” indeholder fejl, der opstår under udførelsen, og ”startObj” har den angivne sti.
  • Inde i funktionen skal du bruge ' hvis ”-sætning, der kører, hvis der ikke findes nogen fejl.
  • Det ' indlejret hvis '-udsagn bruges til at tildele ' isFile() ' og ' isDirectory() ' metoder med ' statObj ”.
  • Hvis metoderne vender tilbage ' rigtigt ” først derefter udføres den sektion og viser succesmeddelelserne i overensstemmelse hermed.

Efter at have udført ovenstående script, ser terminalen sådan ud:

Som du kan se, er den angivne sti nu fundet og bekræfter, at den angivne sti fører til en mappe.

Konklusion

For at opdage, om den angivne sti er stien til en mappe eller fil i NodeJs, skal metoderne til ' isFile() ' og ' isDirectory ' er brugt. Stierne, der er tilgængelige ved hjælp af disse metoder, leveres af ' statSync() ' og ' stat() ” metoder af ” fs ” NodeJs modul. Disse metoder lagrer de tilvejebragte stier på henholdsvis synkron og asynkron måde. Denne blog har forklaret proceduren til at opdage, om den angivne sti fører til en fil eller en mappe i NodeJS.