如何复制文件?

时间:2011-02-12 19:51:57

标签: javascript node.js

如何在Node.js中复制文件?

实施例

+ /old
|- image.png
+ /new

我想将image1.png从'old'复制到'new'目录。

这不起作用。

newFile = fs.createWriteStream('./new/image2.png');     
oldFile = fs.createReadStream('./old/image1.png');

oldFile.addListener("data", function(chunk) {
  newFile.write(chunk);
})

oldFile.addListener("close",function() {
  newFile.end();
});

感谢您的回复!

4 个答案:

答案 0 :(得分:14)

目前的首选方式:

oldFile.pipe(newFile);

答案 1 :(得分:7)

newFile.once('open', function(fd){
    require('util').pump(oldFile, newFile);
});     

答案 2 :(得分:6)

如果你想同步完成这项工作,只需阅读然后直接写文件:

var copyFileSync = function(srcFile, destFile, encoding) {
  var content = fs.readFileSync(srcFile, encoding);
  fs.writeFileSync(destFile, content, encoding);
}

当然,错误处理和东西总是一个好主意!

答案 3 :(得分:-3)

fs.rename( './old/image1.png', './new/image2.png', function(err){
  if(err) console.log(err);
  console.log("moved");
});