【问题标题】:How can I save an array to a file using one command, and save that file to an array using another command in NodeJS?如何使用一个命令将数组保存到文件中,并使用 NodeJS 中的另一个命令将该文件保存到数组中?
【发布时间】:2016-11-12 05:49:05
【问题描述】:

(我是新用户,如果有点混乱,请见谅)

基本上,我想使用一个命令将数组(myArray)的值保存到单独的文件(myArray.txt),然后使用另一个命令将数组(myArray)的值替换为值文件 (myArray.txt)。

因此,命令 A 将 myArray 的值放入 myArray.txt

同时命令 B 清除 myArray 的值,并将 myArray.txt 的值放入 myArray。

再说一次,我是新手,如果这有点难以理解,或者我做错了什么,非常抱歉。

【问题讨论】:

  • 请注意,这些是异步 IO 操作。看看这两个 SO 问题 readwrite。对于格式,我推荐JSON
  • @PaulS。谢谢你的快速回复,我去看看。

标签: javascript arrays node.js


【解决方案1】:

除了惊讶的“为什么?!”之外,您还可以将数组以 JSON 编码形式保存到文件中,如下所示:

const fs = require('fs');
const path = 'path/to/myArray.txt';

fs.writeFile(path, JSON.stringify(myArray), err => {
  if (err) // start cyring;    
});

要检索文件,您可以使用fs.readFile,或者您可以简单地要求它只包含 JSON 的文件。

【讨论】:

  • 这行得通,但是当使用 fs.readFile 时,我如何设置 myArray 等于它读取的值? (对不起,如果这听起来令人困惑)
  • fs.writeFile的回调中,你可以访问文件数据。在那里你可以说:myArray = JSON.parse(data)。或者,如前所述,如果文件是纯json,则不需要fs,只需myArray = require(path)即可。
  • 谢谢,我试试看。
  • 因此,将数组写入文件效果很好,但是我仍然无法将文件写入数组。我已经尝试了 myArray = JSON.parse(data) 和 myArray = require(path) ,但似乎都不起作用。
  • 应该的。在您的第一个示例中,您如何访问数据?应该是这样的:fiddle.jshell.net/u82kp5o5
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-15
  • 2011-07-16
  • 2013-04-28
  • 1970-01-01
  • 2020-01-06
  • 2016-07-13
  • 2013-04-11
相关资源
最近更新 更多