如何在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();
});
感谢您的回复!
答案 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");
});