fs изменяет размер файла в два раза
Когда я для теста решил прочитать exe файл с помощью fs и записать ничего не меняя, он резко вырос в размере в два раза. Скрин
Как это исправить?
async function crate() {
var fs = require('fs')
fs.readFile("gd/GeometryDash.exe", 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
fs.writeFile("gd/GeometryDash1.exe", data, 'utf8', function (err) {
if (err) return console.log(err);
});
});
}
код ^
Ответы (1 шт):
Автор решения: vsemozhebuty
→ Ссылка
Вам нужно читать бинарный файл не как текст в кодировке UTF8, а как буфер, и писать так же. По умолчанию файлы читаются как буферы, поэтому можно просто пропустить кодировку. Также, если на запись подаётся буфер, кодировка игнорируется, поэтому и там её можно пропустить:
const fs = require('fs');
function crate() {
fs.readFile("gd/GeometryDash.exe", function (err, data) {
if (err) return console.log(err);
fs.writeFile("gd/GeometryDash1.exe", data, function (err) {
if (err) return console.log(err);
});
});
}