在node.js中复制文件的最快方法

我在(node.js)工作的项目意味着很多使用文件系统的操作(复制/读取/写入等)。 我想知道,哪种方法最快,我很乐意提供一些建议。


这是使用流在一行代码中复制文件的好方法:

var fs = require('fs');

fs.createReadStream('test.log').pipe(fs.createWriteStream('newLog.log'));

相同的机制,但是这增加了错误处理:

function copyFile(source, target, cb) {
  var cbCalled = false;

  var rd = fs.createReadStream(source);
  rd.on("error", function(err) {
    done(err);
  });
  var wr = fs.createWriteStream(target);
  wr.on("error", function(err) {
    done(err);
  });
  wr.on("close", function(ex) {
    done();
  });
  rd.pipe(wr);

  function done(err) {
    if (!cbCalled) {
      cb(err);
      cbCalled = true;
    }
  }
}

我无法获得createReadStream/createWriteStream方法的工作原因,但使用fs-extra npm模块它立即工作。 虽然我不确定性能差异。

FS-EXTRA

npm install --save fs-extra

var fs = require('fs-extra');

fs.copySync(path.resolve(__dirname,'./init/xxx.json'), 'xxx.json');
链接地址: http://www.djcxy.com/p/58343.html

上一篇: Fastest way to copy file in node.js

下一篇: How to store Node.js deployment settings/configuration files?