Метод Node JS fs.readFileSync().

The метод fs.readFileSync(). це вбудований інтерфейс прикладного програмування модуля fs, який використовується для читання файлу та повернення його вмісту. У методі fs.readFile() ми можемо читати файл неблокуючим асинхронним способом, але в методі fs.readFileSync() ми можемо синхронно читати файли, тобто ми повідомляємо node.js блокувати інші паралельні процеси і виконати поточний процес читання файлу. Тобто, коли викликається метод fs.readFileSync(), початкова програма вузла припиняє виконання

Синтаксис:

fs.readFileSync( path, options ) 

Параметри:

  • шлях: Він приймає відносний шлях текстового файлу. Шлях може мати тип URL. Файл також може бути дескриптором файлу. Якщо обидва файли знаходяться в одній папці, просто введіть назву файлу в лапках.
  • параметри: Це необов’язковий параметр, який містить кодування та позначку, кодування містить специфікацію даних. Його значення за замовчуванням дорівнює null, що повертає необроблений буфер, а прапор містить вказівку на операції у файлі. Його значення за замовчуванням — «r».

Повернене значення: Цей метод повертає вміст файлу.

Приклад 1: Це деякі текстові дані, які зберігаються у файлі 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);>

Вихід:

This is some text data which is stored in input.txt file. 

Тепер питання в тому, як це відбувається fs.readFileSync() Метод відрізняється від методу fs.readFile(). Приклад, де ми можемо дізнатися, коли використовувати методи fs.readFileSync() і fs.readFile().
Припустимо, є два вхідних файли input1.txt і input2.txt і обидва файли зберігаються в одній папці.

приклад 2:

  • (1) Це деякі текстові дані, які зберігаються у файлі input1.txt.
  • (2) Це деякі текстові дані, які зберігаються у файлі 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);>

Вихід:

(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. 

Спостереження: На порядок читання файлів у Node.js впливає асинхронний характер `fs.readFile()` і синхронний характер `fs.readFileSync()`. Цикл подій визначає порядок виконання, а використання fs.readFileSync() може блокувати паралельні процеси, впливаючи на спостережуваний порядок читання файлу.