Как записать буфер в файл без запятых?(nodejs) - PullRequest
0 голосов
/ 03 июня 2019

В Node.js я читаю файл и разбиваю его на более мелкие куски. Каждый чанк хранится в своем собственном файле. Это прекрасно работает.

Я хочу прочитать эти файлы и перестроить файл из кусков данных. Я могу это сделать, но у меня есть небольшая проблема, которую я не знаю, как решить.

При записи файла, созданного из файловых чанков, у меня возникают комы между всеми чанками. Я хотел бы знать, как я могу написать файл без этих запятых.

Текущий код:

var resFromChunk = [];

for (let i = 0; i < result.length; i++) {
    resFromChunk.push(fs.readFileSync('./chunks/fileChunk' + i));
}

fs.writeFileSync("refile", resFromChunk);

Ожидаемый результат:

this is my file!

Токовый выход:

t,h,i,s, ,i,s, ,m,y, ,f,i,l,e,!

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

Для буфера:

var resFromChunk = [];
for (let i = 0; i < result.length; i++) {
    resFromChunk.push(fs.readFileSync('./chunks/fileChunk' + i, 'buffer'));
}

fs.writeFileSync("refile", Buffer.concat(resFromChunk));

Для строки:

var resFromChunk = [];
for (let i = 0; i < result.length; i++) {
    resFromChunk.push(fs.readFileSync('./chunks/fileChunk' + i, 'utf8'));
}

fs.writeFileSync("refile", resFromChunk.join(''));
0 голосов
/ 03 июня 2019

Используйте следующее для объединения и преобразования буфера в строку:

fs.writeFileSync ("refile", Buffer.concat (resFromChunk) .toString ());

Если resFromChunk - это массив строк, вы можете просто объединить их с пустым разделителем:

fs.writeFileSync ("refile", resFromChunk.join (''));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...