Metoda węzła JS fs.readFileSync().
The fs.readFileSync() metoda to wbudowany interfejs programowania aplikacji modułu fs, który służy do odczytu pliku i zwrócenia jego zawartości. W metodzie fs.readFile() możemy czytać plik w sposób nieblokujący asynchroniczny, natomiast w metodzie fs.readFileSync() możemy czytać pliki synchronicznie, czyli mówimy node.js, aby blokował inne równoległe procesy i wykonaj bieżący proces odczytu pliku. Oznacza to, że po wywołaniu metody fs.readFileSync() oryginalny program węzła przestaje działać
Składnia:
fs.readFileSync( path, options )
Parametry:
- ścieżka: Przyjmuje względną ścieżkę pliku tekstowego. Ścieżka może być typu URL. Plik może być także deskryptorem pliku. Jeśli oba pliki znajdują się w tym samym folderze, po prostu podaj nazwę pliku w cudzysłowie.
- opcje: Jest to opcjonalny parametr zawierający kodowanie i flagę, kodowanie zawiera specyfikację danych. Jego domyślną wartością jest null, która zwraca surowy bufor, a flaga zawiera wskazanie operacji w pliku. Jego domyślną wartością jest „r”.
Wartość zwracana: Ta metoda zwraca zawartość pliku.
Przykład 1: To są dane tekstowe przechowywane w pliku input.txt.
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);> |
Wyjście:
This is some text data which is stored in input.txt file.
Teraz pytanie jak to jest fs.readFileSync() różni się od metody fs.readFile(). Przykład, w którym możemy dowiedzieć się, kiedy należy zastosować metody fs.readFileSync() i fs.readFile().
Załóżmy, że istnieją dwa pliki wejściowe wejście1.txt I wejście2.txt i oba pliki są zapisywane w tym samym folderze.
Przykład 2:
- (1) To są dane tekstowe zapisane w pliku input1.txt.
- (2) To są dane tekstowe zapisane w pliku input2.txt.
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);> |
Wyjście:
(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.
Obserwacja: Na kolejność odczytywania plików w Node.js wpływa asynchroniczna natura `fs.readFile()` i synchroniczna natura `fs.readFileSync()`. Pętla zdarzeń określa kolejność wykonywania, a użycie `fs.readFileSync()` może blokować procesy równoległe, wpływając na obserwowaną kolejność odczytu plików.