从txt文件读取Specificst-javascript

时间:2018-08-01 16:19:24

标签: javascript arrays readfile

我从变量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")

1 个答案:

答案 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")
  }
})

这应该适当地分解为方法,但是希望可以解释这个想法