Как использовать потоки Node.js для добавления в конец файла?
У меня есть приложение node.js, которое открывает поток:
outputStream = fs.createWriteStream("output.txt");
Затем я асинхронно добавляю текст в файл:
outputStream.write( outputTxt, "utf8" );
Этот код выполняется внутри цикла, поэтому повторяется сотни раз. Однако цикл асинхронный, поэтому иногда он приостанавливается, и я могу редактироватьoutput.txt
файл тем временем во внешнем редакторе и (например) добавьте несколько символов в начале.
Однако когда я это сделаю, в следующий раз outputStream.write
выполняется, он перезаписывает несколько последних добавленных ранее символов (то же количество символов, которое я добавил извне).
Есть ли способ предотвратить это? Каким-то образом сказатьwriteStream
найти конец файла, а затем добавить текст?