De fs.readFileSync()-metoden er et innebygd applikasjonsprogrammeringsgrensesnitt i fs-modulen som brukes til å lese filen og returnere innholdet. I fs.readFile()-metoden kan vi lese en fil på en ikke-blokkerende asynkron måte, men i fs.readFileSync()-metoden kan vi synkront lese filer, det vil si at vi ber node.js blokkere andre parallelle prosesser og gjør gjeldende filleseprosess. Det vil si at når fs.readFileSync()-metoden kalles, slutter det originale nodeprogrammet å kjøre
Syntaks:
fs.readFileSync( path, options )>
Parametere:
- sti: Den tar den relative banen til tekstfilen. Banen kan være av URL-type. Filen kan også være en filbeskrivelse. Hvis begge filene er i samme mappe, gi filnavnet i anførselstegn.
- alternativer: Det er en valgfri parameter som inneholder kodingen og flagget, kodingen inneholder dataspesifikasjonen. Standardverdien er null som returnerer råbufferen og flagget inneholder en indikasjon på operasjoner i filen. Standardverdien er 'r'.
Returverdi: Denne metoden returnerer innholdet i filen.
Eksempel 1: Dette er noen tekstdata som er lagret i input.txt-filen.
javascript
// Node.js program to demonstrate the> // fs.readFileSync() method> // Include fs module> const fs = require(>'fs'>);> // Calling the readFileSync() method> // to read 'input.txt' file> const data = fs.readFileSync(>'./input.txt'>,> >{ encoding:>'utf8'>, flag:>'r'> });> // Display the file data> console.log(data);> |
>
>
Produksjon:
This is some text data which is stored in input.txt file.>
Nå er spørsmålet hvordan er dette fs.readFileSync() metoden er forskjellig fra fs.readFile() metoden. Et eksempel der vi kan finne ut når vi skal bruke metodene fs.readFileSync() og fs.readFile().
La oss si at det er to inndatafiler input1.txt og input2.txt og begge filene er lagret i samme mappe.
Eksempel 2:
- (1) Dette er noen tekstdata som er lagret i filen input1.txt.
- (2) Dette er noen tekstdata som er lagret i input2.txt-fil.
javascript
// Node.js program to demonstrate the> // fs.readFileSync() method> // Include fs module> const fs = require(>'fs'>);> // Calling the fs.readFile() method> // for reading file 'input1.txt'> fs.readFile(>'./input1.txt'>,> >{ encoding:>'utf8'>, flag:>'r'> },> >function> (err, data) {> >if> (err)> >console.log(err);> >else> >console.log(data);> >});> // Calling the fs.readFileSync() method> // for reading file 'input2.txt'> const data = fs.readFileSync(>'./input2.txt'>,> >{ encoding:>'utf8'>, flag:>'r'> });> // Display data> console.log(data);> |
>
gi nytt navn til en katalog linux
>
Produksjon:
(1) This is some text data which is stored in input1.txt file. (2) This is some text data which is stored in input2.txt file.>
Observasjon: Rekkefølgen for fillesing i Node.js påvirkes av den asynkrone naturen til `fs.readFile()` og den synkrone naturen til `fs.readFileSync()`. Hendelsesløkken bestemmer utførelsesrekkefølgen, og bruk av `fs.readFileSync()` kan blokkere parallelle prosesser, og påvirke den observerte filens leserekkefølge.