nodejs文件复制实时进度
时间: 2023-07-05 16:36:58 浏览: 113
实时进度指的是在文件复制过程中,能够实时显示复制的进度比例,可以使用`progress`模块来实现。
下面是一个使用`progress`模块实现文件复制实时进度的示例代码:
```javascript
const fs = require('fs');
const progress = require('progress');
function copyFile(src, dest) {
const fileSize = fs.statSync(src).size;
const readStream = fs.createReadStream(src);
const writeStream = fs.createWriteStream(dest);
const progressBar = new progress('Copying [:bar] :percent :etas', {
complete: '=',
incomplete: ' ',
width: 20,
total: fileSize
});
readStream.on('data', function(chunk) {
progressBar.tick(chunk.length);
writeStream.write(chunk);
});
readStream.on('end', function() {
writeStream.end();
console.log('File copy completed!');
});
}
copyFile('source.txt', 'destination.txt');
```
在上面的代码中,我们创建了一个`progressBar`对象,并且将文件大小作为`total`参数传入,然后在每次读取到文件数据时,调用`progressBar.tick()`方法更新进度条,并将数据写入目标文件。当文件复制完成时,我们输出一个完成的提示。
阅读全文