我想创建一个简单的日志系统,它使用Node.js在过去的行之前打印一行到一个txt文件中,但我不知道如何从文件系统Node.js的作品。有人可以解释吗?Node.js将一行写入.txt文件
回答
将数据插入文本文件的中间并不是一件简单的工作。如果可能的话,你应该把它追加到文件的末尾。
追加数据的一些文本文件,最简单的方法是从fs
module使用内置的fs.appendFile(filename, data[, options], callback)
function:
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
时间您的文件,直到你的应用程序将被关闭,或者直到你手动关闭流CAL林志玲.end
:
logger.end() // close string
有必要保存文件 ?如果我使用fs.appendFile,那么文件仍然是空的? – Meterion
'appendFile'会打开文本文件,追加新数据,然后保存。所以,不,你不需要自己保存。它的文件是空的,请尝试检查'appendFile'回调中的'err'。 –
感谢您提及一次和多次选项。 –
只需使用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. 将RegEx写入txt文件
- 2. 将NSMutableArray写入txt文件
- 3. 如何从一个txt文件导入raw_input /将raw_input写入一个txt文件
- 4. 将文件路径写入.txt文件
- 5. 如何使用node.js将大数组写入.txt文件?
- 6. 将俄文文本写入txt文件
- 7. 写入TXT文件?
- 8. 如何将每个打印行写入一个txt文件
- 9. 无法将最后一行写入.txt文件 - Android
- 10. 写入.txt文件将不会保存
- 11. 如何将Mata值写入txt文件?
- 12. 将wxListBox写入Python中的.txt文件
- 13. 无法将csv写入.txt文件? PHP
- 14. 将数据写入.txt文件
- 15. 如何将TXT文件写入SD卡?
- 16. 将SQL信息写入TXT文件
- 17. 将结果写入.txt文件
- 18. 将CRC数据写入.txt文件
- 19. 在PHP中将HTTP_REFERER写入txt文件
- 20. 将列表写入文件txt(utf-8)
- 21. 读取和写入一个txt文件
- 22. 写入一个txt文件在c#
- 23. 在pythonanywhere中写入一个txt文件?
- 24. 从hashmap写入一个txt文件
- 25. Buffered Writer写入.txt文件
- 26. 写入到txt文件java
- 27. 用Python写入txt文件
- 28. VB.Net写入Txt文件
- 29. 写入.txt文件onclick
- 30. 在txt文件中写入
所以,你要插入一行到中间一个文本文件,对吧?最后添加字符串会更容易。 –
是的,好的,我怎么能在最后追加一个字符串? – Meterion
[如何附加到Node中的文件?]可能的重复(http://stackoverflow.com/questions/3459476/how-to-append-to-a-file-in-node) –