Nodejs中复制文件的四种方法

1 copyFile

fs.copyFile(src, dest[, flags], callback)

Node v8.5.0以后可用,用法如下:

fs.copyFile('./src/index.js','./dist/index.js',function(err){
	if(err) console.log('something wrong was happened')
	else console.log('copy file succeed');
}

2 readFile、writeFile

fs.readFile('./src/index.js',function(err,data){
	if(err) throw new Error('something wrong was happended');
	fs.writeFile('./dest/index.js',data,function(err){
		if(err) throw new Error('something wrong was happended');
	})
})

3 createReadStream、read、write

var file = createReadStream('./src/index.js');
var out = createWriteStream('./dist/index.js');

file.on('data',function(data){
	out.write(data)
});
file.on('end',function(){
	out.end();
})

4 pipe

let file = createReadStream('./src/index.js');
let out = createWriteStream('./dist/index.js');

file.pipe(out);
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Node.js 复制文件可以使用 `fs` 模块的 `copyFile` 方法。下面是一个示例代码: ```javascript const fs = require('fs'); const sourceFile = 'path/to/source/file'; const destinationFile = 'path/to/destination/file'; fs.copyFile(sourceFile, destinationFile, (err) => { if (err) { console.error('Error copying file:', err); return; } console.log('File copied successfully!'); }); ``` 请将 `'path/to/source/file'` 替换为源文件的路径,将 `'path/to/destination/file'` 替换为目标文件的路径。此代码将从源文件复制内容到目标文件。 请确保源文件存在,并具有读取权限。目标文件将被创建或覆盖,因此请确保目标文件所在的目录存在,并具有写入权限。 如果要复制文件较大,或者需要在复制完成后执行其他操作,可以使用 `createReadStream` 和 `createWriteStream` 方法来进行流式复制。 ```javascript const fs = require('fs'); const sourceFile = 'path/to/source/file'; const destinationFile = 'path/to/destination/file'; const readStream = fs.createReadStream(sourceFile); const writeStream = fs.createWriteStream(destinationFile); readStream.on('error', (err) => { console.error('Error reading source file:', err); }); writeStream.on('error', (err) => { console.error('Error writing destination file:', err); }); writeStream.on('finish', () => { console.log('File copied successfully!'); }); readStream.pipe(writeStream); ``` 这种方法使用了流来处理文件复制,适用于大文件复制或需要在复制完成后执行其他操作的情况。 请根据您的具体需求选择合适的方法复制文件,并确保在复制过程处理任何潜在的错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值