我在node.js中有一个数组:
QL = [[],[],[],[]];
时间后我想将信息保存在文件中。我运行节点程序,如果文件存在,我想从中加载数组。
怎么做?
答案 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
具有锁定机制以防止多个进程同时访问)。