@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 работает, и считывает строку с нужной позиции.
  • Вопрос задан
  • 223 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
02 июн. 2024, в 01:13
2000 руб./за проект
01 июн. 2024, в 23:49
50000 руб./за проект
01 июн. 2024, в 23:20
30000 руб./за проект