开发者

How to copy a file?

How to copy a file in Node.js?

Example

+ /old
|- image.png
+ /new

I want to copy image1.png from 'old' to 'new' directory.

This doesn't work.

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();
});

Thanks for reply!


The preferred way currently:

oldFile.pipe(newFile);


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


If you want to do this job syncronously, just read and then write the file directly:

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

Of course, error handling and stuff is always a good idea!


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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜