异步文件写入并检查文件大小

时间:2016-01-10 14:14:58

标签: node.js csv asynchronous

所需输出:我想写入csv文件并检查它是否超过某个大小然后创建另一个csv文件并写入它&重复过程。

到目前为止,我可以使用名为'csv-write-stream'的npm模块写入csv文件。

function writeToFile(data) {
  writer = csvWriter({sendHeaders: true});
  writer.pipe(ws);
  writer.write(data);
  writer.end();
}

function init() { 
  ws = fs.createWriteStream(fileName, {flags: 'a'});
  fs.watchFile(fileName, function(curr, prev) {
    if (curr.size > maxFileSizeInBytes) {
      console.log('size exceeds, switch to another file for writing.');
    }
  });
}

init();
writToFile({data:....});
writToFile({data:....});
writToFile({data:....});

上面的代码工作正常,问题首先是它写入文件,然后执行来到watchFile的回调,并且使用这种方法如果大小超过并将其写入另一个文件,我如何保存数据?

1 个答案:

答案 0 :(得分:1)

我没有找到任何编写和检查文件大小异步的模块,但发现了一个github repo,它帮助解决了这个问题。

Streamroller