Hur upptäcker jag att den förutsatta sökvägen är en fil eller katalog i Node.js?

Hur Upptacker Jag Att Den Forutsatta Sokvagen Ar En Fil Eller Katalog I Node Js



Det är viktigt att upptäcka filenheten, särskilt när dina applikationer hanterar en fil eller lagrar användardata i specifika kataloger. Eftersom enstaka kataloger kan innehålla flera filer innebär operationen som kan tillämpas på dem att filer flyttas till en annan katalog eller att alla befintliga filer tas bort.

Detsamma gäller med en fil, dess operationer kan inkludera modifiering av filen, infoga data i filen eller radering av en singel. Hela applikationen kommer att förstöras om utvecklaren tillämpar filoperationer över kataloger eller vice versa.

Den här artikeln kommer att illustrera metoderna för att upptäcka om den angivna sökvägen är en fil eller en katalog genom att täcka dessa metoder:







Hur upptäcker jag att den förutsatta sökvägen är en fil eller katalog i Node.js?

Det finns två metoder som tillhandahålls av ' fs 'modul nämligen' isDirectory() ' och ' isFile() ” som har det enda syftet att kontrollera om den angivna sökvägen leder till en fil eller katalog. Dessa metoder används i både synkrona och asynkrona scenarier med hjälp av ' statSync() ' och ' statistik() ' metoder. Dessa två metoder visas nedan för att upptäcka om den angivna sökvägen leder till en fil eller katalog.



Metod 1: 'statSync()'-metoden för att upptäcka sökvägen som leder till katalogen eller filen

den ' statSync() ” metod som tillhandahålls av ' fs ' modul används i princip för att utföra synkrona operationer. Denna metod i vårt fall lagrar instansen av den angivna sökvägen endast en gång. Sedan tilldelar den ' isDirectory() ' och ' isFile() ” metoder för att returnera om den angivna sökvägen leder till en katalog eller fil.



Låt oss besöka kodavsnittet nedan för den praktiska implementeringen av 'statSync()'-metoden:





konst fsObj = behöva ( 'fs' ) ;

låt sökvägsfil = fsObj. statSync ( '/Users/kahou/Documents/readlineProj/mcu.db' ) ;

trösta. logga ( 'Finns sökvägen till en fil? ' + sökvägsfil. isFile ( ) ) ;

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

trösta. logga ( 'Finns sökvägen till en katalog? ' + pathDir. isDirectory ( ) ) ;

Förklaringen till den ovan angivna koden anges nedan:

  • Importera först ' fs '-modul och lagra dess instans i en ' fsObj ” variabel.
  • Anropa sedan ' statSync() ' metoden med ' fsObj ” variabel och skicka den valda sökvägen inom dess parentes. Lagra referensen till denna väg i ' sökvägsfil ” variabel.
  • Tilldela sedan ' isFile() '-metoden med ' sökvägsfil ” för att returnera ett booleskt värde som visar om den angivna sökvägen leder till en fil eller inte.
  • Efter det, åberopa igen ' statSync() ”-metoden och passera den nya vägen.
  • Till sist, bifoga ' isDirectory() '-metoden med värdet som returneras av ' startSync() 'metoden.

Kör nu den aktuella filen med kommandot nedan:



'nod '

Till exempel har vi kört filen 'app.js':

Utdata visar värdet på ' Sann ” returneras betyder att de angivna sökvägarna är för mappen och filen har upptäckts.

Metod 2: 'stat()'-metoden för att upptäcka sökvägen som leder till katalogen eller filen

En annan metod som fungerar perfekt för den asynkrona miljön är känd som ' statistik() '-metoden som tillhandahålls av ' fs ' modul. Den använder också samma ' isFile() ' och ' isDirectory() ”-metoder men på grund av dess asynkrona natur kan den enda vägen skickas till båda metoderna. Den har två parametrar, den första lagrar sökvägen och den andra är en återuppringningsfunktion som utför vissa operationer över den angivna sökvägen:

konst fsObj = behöva ( 'fs' ) ,
testPath = '/Users/kahou/Documents/readlineProj'

// Använd stat()-metoden
fsObj. statistik ( testPath , ( fel , statObj ) => {
om ( ! fel ) {
om ( statObj. isFile ( ) ) {
trösta. logga ( ' \n Ja! Förutsatt att sökvägen leder till en fil? ' ) ;
}
annan om ( statObj. isDirectory ( ) ) {
trösta. logga ( ' \n Ja! Förutsatt väg leder till en katalog? ' ) ;
}
}
annan
kasta fel ;
} ) ;

Förklaringen till den ovan angivna koden visas nedan:

  • Importera först ' fs '-modul och lagra dess instans i en ' fsObj ” variabel. Skapa en ' testPath ” variabel som lagrar den sökväg som testaren tillhandahåller.
  • Anropa nu ' statistik() ”-metoden och godkänn ” testPath ” som den första parametern och en återuppringningsfunktion som den andra parametern.
  • Återuppringningsfunktionen innehåller ' fel ' som första parameter och ' statObj ” som den andra. den ' fel ” innehåller fel som uppstår under körning och ”startObj” har den angivna sökvägen.
  • Inuti funktionen, använd ' om ”-sats som körs om inget fel hittas.
  • den ' kapslade om ' uttalanden används för att tilldela ' isFile() ' och ' isDirectory() ' metoder med ' statObj ”.
  • Om metoderna returnerar ' Sann ” först då exekveras det avsnittet och visar framgångsmeddelandena därefter.

Efter att ha kört skriptet ovan ser terminalen ut så här:

Som du kan se är den angivna sökvägen nu upptäckt och bekräftar att den angivna sökvägen leder till en katalog.

Slutsats

För att upptäcka om den angivna sökvägen är sökvägen till en katalog eller fil i NodeJs, metoderna för ' isFile() ' och ' isDirectory ' används. De vägar som är tillgängliga med dessa metoder tillhandahålls av ' statSync() ' och ' statistik() ' metoder för ' fs ” NodeJs modul. Dessa metoder lagrar de tillhandahållna vägarna på synkront respektive asynkront sätt. Den här bloggen har förklarat proceduren för att upptäcka om den angivna sökvägen leder till en fil eller katalog i NodeJS.