我目前正在设计一个Node.js Web服务器,它将请求存储为JSON对象并将它们存储在文本文件中。
所述文本文件的一个例子是:
{"elements":[
{"email":"test@test.com","timestamp":"22:10:54"},
{"email":"foo@foobar.com","timestamp:"09:56:49"}
]}
我想要做的是能够将给定的JSON附加到此文本文件中。这比简单的fs.append()函数更复杂,因为我必须首先摆脱
\n]}
关闭JSON,然后坚持
,{"email":"INPUT EMAIL HERE","timestamp":"INPUT TIMESTAMP HERE"}\n]}
形成新完成的JSON,
{"elements":[
{"email":"test@test.com","timestamp":"22:10:54"},
{"email":"foo@foobar.com","timestamp:"09:56:49"},
{"email":"INPUT EMAIL HERE","timestamp":"INPUT TIMESTAMP HERE"}
]}
我想在不必使用fs.readFileSync(path)加载文本文件的情况下完成所有这些操作,因为每个新条目都会变得更加困难。所以,我的最终问题是我需要一种方法从文件的末尾剥离(有效地反向追加)几个字符,以便我可以追加新输入的元素。我已经查看了文档(http://nodejs.org/docs/latest/api/fs.html#fs_fs_createwritestream_path_options)并且我没有看到它的功能,但我认为必须有一种方法可以做到。