我从变量userId,userPoints和userCodes开始。
我想要一个具有以下内容的文本文件:
[userId:user9283],[userPoints:45],[userCodes:kjsdnosd,sndjncjks,nsdjknckjs]
在javascript中,您将如何使用该格式将收集的数据写入txt文件,在变量更改时进行更改并在需要时仅获取数组中userCodes的内容。
这有点像数据库,但是本地存储少量数据。我已经研究了fs.WriteFile和AppendFile,但不确定如何读取行的特定内容和/或添加到特定内容,检查其中是否已经有用户ID,如果有,则附加它。
谢谢:)
var fs = require('file-system');
fs.writeFile('SavedAccounts.txt', "", function (err) {
if (err) {
console.log("write failed")
} else {
console.log("write success")
}
})
fs.appendFile('AccountsToBeMade.txt', userID, function (err) {
if (err) {
console.log("write failed")
} else {
console.log("write success")
答案 0 :(得分:0)
如果仅打算使用JavaScript中的数据,建议您将字符串化的JSON写入文件。然后,您可以这样做:
const fs = require('file-system');
const users = [{userId: 123, userPoints: 45, userCodes: [1, 2, 3]}]
fs.writeFile('SavedAccounts.json', JSON.stringify(users), function (err) {
if (err) {
console.log("write failed")
} else {
console.log("write success")
}
})
您可以添加/删除和更改用户数组,而不是附加到文件,然后将整个内容写回到文件中。
读回文件时需要JSON.parse()
如果您想更新特定用户,可以执行以下操作:
const userId = 123;
const user = users.indexOf(user => user.id === 123);
user.userPoints = 46;
fs.writeFile('SavedAccounts.json', JSON.stringify(users), function (err) {
if (err) {
console.log("write failed")
} else {
console.log("write success")
}
})
这应该适当地分解为方法,但是希望可以解释这个想法