Чтение больших файлов в чанке с использованием createReadStream - PullRequest
0 голосов
/ 14 мая 2018
var data = '';
var startOffSet = 0;
var endOffSet = 0;

do {
    if (fileSizeInBytes >= 64000 && fileSizeInBytes - endOffSet >= 64000) {
        endOffSet += 64000;
    } else {
        endOffSet += fileSizeInBytes - endOffSet - 1;
        inProcess = false;
    }
    startOffSet += 64000;

    var readableStream = fs.createReadStream('fileName', { start: startOffSet, end: endOffSet });

    readableStream.on('data', function(chunk) {
        data += chunk;
    });
} while (fileSizeInBytes > endOffSet + 2);

Проблема заключается в том, что этот метод не устанавливает правильное начальное и конечное смещение. Он запускает событие «data» после добавления всего начального / конечного смещения. Хотя при отладке все работает по назначению.

...