我想創建一個簡單的日誌系統,它使用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) –