@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', чтобы ваше приложение было надежным и устойчивым к ошибкам во время чтения файлов.