将数组值保存在文件中

时间:2016-09-05 01:28:19

标签: node.js

我在node.js中有一个数组:

QL = [[],[],[],[]];

时间后我想将信息保存在文件中。我运行节点程序,如果文件存在,我想从中加载数组。

怎么做?

3 个答案:

答案 0 :(得分:1)

您可以尝试这种简单的方式来存储所有数组元素

ERROR: failed to open ID file '/home/username/.pub': No such file

此处所有数组项都附加在每个新文件行

答案 1 :(得分:0)

取决于您希望如何将其保存在文件中。您可以调用nodeJS本机的文件系统模块,该模块使用file做很多事情。

在此之前,要检查文件是否存在,可以使用fs.stat传递文件名,检查回调。

所以,假设您只想保存数组。您可以通过以下参数传递它:

const fs = require("fs");

let array = [[1,2,3],[34,9,10,50],[1,2,3]];

fs.writeFile('save1.txt',array,(data)=>{
console.log('done');
});

但是如果想对每个主要数组位置进行一些处理,可能需要迭代这个数组并每次都调用相同的函数。

可以在NodeJS文件系统文档中找到更多信息 https://nodejs.org/api/fs.html

答案 2 :(得分:0)

有不同的方法来处理它。您可以在outputJson或模块fs-extra中尝试json-update

以下是保存示例:

require('json-update').update('data.json',{array:[[10,20],[1,2]]}).then(function(dat) {
  console.log(dat.test)
});

以下是加载示例:(文件必须存在)

require('json-update').load('data.json', function(err, arr) {
  console.log(arr.array);
});

注意json-update它必须是具有属性的对象,而不仅仅是普通数组。来自fs-extra的outputJson不需要(json-update具有锁定机制以防止多个进程同时访问)。