Я хочу создать простую систему журналов, которая печатает строку перед прошлой строкой в txt-файл с помощью Node.js, но я не знаю, как файловая система из Работает Node.js. Может кто-нибудь объяснить это?Node.js Напишите строку в файл .txt
ответ
Вставка данных в середину текстового файла - непростая задача. Если возможно, вы должны добавить его в конец своего файла.
Самый простой способ добавить данные некоторый текстовый файл, чтобы использовать встроенные fs.appendFile(filename, data[, options], callback)
function из fs
module:
var fs = require('fs')
fs.appendFile('log.txt', 'new data', function (err) {
if (err) {
// append failed
} else {
// done
}
})
Но если вы хотите, чтобы записать данные в лог-файл несколько раз, то это будет лучше всего использовать fs.createWriteStream(path[, options])
function вместо:
var fs = require('fs')
var logger = fs.createWriteStream('log.txt', {
flags: 'a' // 'a' means appending (old data will be preserved)
})
logger.write('some data') // append string to your file
logger.write('more data') // again
logger.write('and more') // again
Узел будет держать добавления новых данных в файл каждый раз, когда вы будете звонить .write
, пока приложение не будет закрыто, или пока вы не будете вручную закрыть поток кал лин .end
:
logger.end() // close string
Необходимо сохранить файл ? Если я использую fs.appendFile, файл все еще пуст? – Meterion
'appendFile' откроет текстовый файл, добавит к нему новые данные и сохранит его впоследствии. Итак, нет, вам не нужно его самостоятельно сохранять. Это ваш файл пуст, попробуйте проверить 'err' в обратном вызове appendFile'. –
Спасибо за упоминание как одного, так и нескольких вариантов времени. –
fs
Просто используйте модуль и что-то вроде этого:
fs.appendFile('server.log', 'string to append', function (err) {
if (err) return console.log(err);
console.log('Appended!');
});
Если вы хотите внедрить систему журнала, я бы порекомендовал вам взглянуть на Bunyan пакет.
Шаг 1
Если у вас есть небольшой файл Читать все данные файла в памяти
Шаг 2
строка данных Преобразование файла в массив
Этап 3
Поиск массив, чтобы найти место, где вы хотите вставить текст
Шаг 4
После того как вы место вставить текст
yourArray.splice(index,0,"new added test");
Шаг 5
преобразовать ваш массив в строку
yourArray.join("");
Шаг 6
написать свой файл как так
fs.createWriteStream(yourArray);
Это не рекомендуется, если ваш файл слишком велик
- 1. Напишите строку в файл
- 2. Напишите базовый массив в txt-файл?
- 3. Напишите текст в .txt файл в C
- 4. Напишите в .txt файл в пакете
- 5. Напишите wxListBox в .txt файл в Python
- 6. Напишите «<" or ">» в .txt файл
- 7. Напишите многострочный .txt-файл в Android
- 8. Напишите результат запроса в txt-файл
- 9. Напишите конкретную строку в файл
- 10. Если файл существует на нескольких компьютерах, напишите в txt-файл
- 11. Напишите одну полилинейную строку на несколько строк в .txt
- 12. Напишите строку в новый файл в Scala
- 13. Запись в файл .txt до выхода node.js
- 14. Напишите GCD в файл
- 15. Java, напишите строку в файл заметок
- 16. Напишите полную строку в текстовый файл
- 17. Напишите новую строку в файл (Python 3)
- 18. Напишите строку в файл с новым текстом?
- 19. Напишите первую строку из .txt-файла в качестве столбца в новом .txt-файле
- 20. JAR-файл создаст txt. файл, но не напишите ему
- 21. Javascript, напишите в txt файл save as UNICODE
- 22. Напишите матрицу в txt-файл, не получая дополнительных 0 значений
- 23. Создайте и напишите файл txt в двигателе matlab
- 24. C прочитайте с консоли и напишите в .txt файл
- 25. Создайте txt-файл, напишите и прочитайте с него Android
- 26. Прикрепите слово в TXT-файлах и напишите несколько строк в новый .txt-файл
- 27. Напишите в файл в javascript?
- 28. Напишите форматированный JSON в Node.js
- 29. Измените .txt-файл в Java
- 30. Напишите каждую строку Excel в новый .txt-файл с ColumnA как имя файла
Итак, вы хотите, чтобы вставить строку в середину текстовый файл, не так ли?Будет намного проще добавить строки до конца. –
Да, хорошо, как я могу добавить строку в конце? – Meterion
Возможный дубликат [Как добавить файл в узел?] (Http://stackoverflow.com/questions/3459476/how-to-append-to-a-file-in-node) –