Для работы с файлами в Node.js нам нужно подключить модуль fs. После подключения модуля, в переменную fs мы получим объект, который имеет все необходимые методы и свойства для работы с файлами.
const fs = require("fs"); // Подключаем модуль fs
В этой статье мы узнаем как можно читать файлы в Node.js. В Node.js читать файлы можно двумя способами — асинхронный и синхронный.
Асинхронное чтение файла — fs.readFile( )
Метод readFile может принимать 3 аргумента. Из них второй аргумент является обязательным.
fs.readFile(файл[, опции], callback)
- файл <String> | <Buffer> | <Integer> Имя / адрес файла или файловый дескриптор
- опции <Object> | <String>
- кодировка <String> | <Null> по умолчанию = null
- флаг <String> по умолчанию = ‘r’
- callback <Function>
- Первый аргумент — это адрес файла, который нужно читать;
- Второй аргумент — это опции, который является обязательным. Опции можно указать в виде объекта (для указание нескольких опций) и в виде строки;
- Третий аргумент — это функция обратного вызова (callback функция). Функция вызывается после чтения файла.
Пример чтение файла асинхронно:
const fs = require("fs"); fs.readFile('./test.txt', (err, data) => { if (err) throw err; console.log(data); });
В функцию обратного вызова передается два аргумента (err, data). Если при чтение файла возникла ошибка, то в переменную err получим объект с описанием ошибки. А аргумент data содержит содержимое файла.
Если при чтение файла ми не указали кодировку, то данные будут возвращены в виде буфера.
Пример чтение файла с указанием опции:
const fs = require("fs"); fs.readFile('./test.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data); });
Синхронное чтение файла — fs.readFileSync( )
Многие асинхронные функции в Node.js имеют синхронный вариант. И для чтение файлов в синхронном режиме есть метод readFileSync. Он может принимать 2 аргумента.
fs.readFileSync(файл[, опции])
- файл <String> | <Buffer> | <Integer> Имя / адрес файла или файловый дескриптор
- опции <Object> | <String>
- кодировка <String> | <Null> по умолчанию = null
- флаг <String> по умолчанию = ‘r’
- Первый аргумент — это адрес файла, который нужно читать;
- Второй аргумент — это опции, который является обязательным. Опции можно указать в виде объекта (для указание нескольких опций) и в виде строки;
Пример чтение файла синхронно:
const fs = require("fs"); let data = fs.readFileSync('./test.txt', 'utf8'); console.log(data);
Комментарии