@vladimir
Чтение файла частями (или чанками) в Node.js можно выполнить с использованием метода createReadStream()
модуля fs
.
Пример использования метода createReadStream()
для чтения файла частями:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
const fs = require('fs'); const readStream = fs.createReadStream('file.txt', { highWaterMark: 1024 }); readStream.on('data', (chunk) => { console.log(chunk); }); readStream.on('end', () => { console.log('File reading finished.'); }); readStream.on('error', (err) => { console.log(err); }); |
В приведенном выше примере мы создаем объект readStream
, который читает файл file.txt
частями размером 1024 байт. Когда новая часть файла доступна для чтения, событие data
вызывается и обработчик получает доступ к новой части через параметр chunk
. Когда файл полностью прочитан, событие end
вызывается, и мы можем выполнить завершающие действия. Если во время чтения файла возникает ошибка, событие error
вызывается, и мы можем обработать ошибку.
Обратите внимание, что размер частей можно настроить с помощью параметра highWaterMark
. Если параметр не указан, размер частей по умолчанию равен 64 КБ.
@vladimir
Дополню, что вы также можете управлять кодировкой чтения файла, добавив параметр 'encoding' в объект настроек метода createReadStream(). Например, если вы хотите читать файл в кодировке utf-8, вы можете указать это следующим образом:
1 2 |
const readStream = fs.createReadStream('file.txt', { highWaterMark: 1024, encoding: 'utf-8' }); |
Таким образом, вы сможете читать файл и получать его содержимое в виде строк, вместо бинарных данных. Не забывайте обрабатывать ошибки в обработчике события 'error', чтобы ваше приложение было надежным и устойчивым к ошибкам во время чтения файлов.