@CyberQuantum
Frontend-разработчик

Как записать строку в середину файла на NodeJS?

Можно ли записать строку в середину файла, не перезаписывая файл полностью?
К примеру есть файл test.txt с содержанием:
1234567890abcdfghijklmnoprstxyz

Нужно записать вместо "ab" строку "++", то есть что бы получилось:
1234567890++cdfghijklmnoprstxyz

Пробую так:
var fs = require('fs');
var path = require('path');

var fd = fs.openSync(path.join(process.cwd(), 'test.txt'), 'a+');

var buf=Buffer.from("++","utf8");

fs.writeSync(fd, buf, 0,2, 10);

console.log('closing file now')
fs.closeSync(fd);


Но "++" записывается в конец файла, изменение параметров fs.writeSync не помогает, всё равно строку в конец файла пишет. Хотя по документации https://nodejs.org/api/fs.html#fs_fs_writesync_fd_... , там есть параметр position.
Причём в fs.readSync(fd, buf, 0,2,10); position работает, и считывает строку с нужной позиции.
  • Вопрос задан
  • 240 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы