企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
##文件的复制 ###非流异步方式 ``` const fs = require('fs'); const path = require('path'); console.time('read'); fs.readFile('/tmp/1.iso', function(data, err) { if (err) { throw err } console.timeEnd('read'); console.time('write'); // 读取完文件拿到 fs.writeFile('/tmp/2.iso', function(data, err) { if (err) { throw err } console.timeEnd('write'); console.log('拷贝完成'); }); }); ``` 缺陷: - 大文件拷贝,内存受不了 - 没有进度的概念 ### 文件流的方式的复制 ``` const fs = require('fs'); const path = require('path'); // 创建文件的读取流,并没有读出正式的数据,开始了读取文件的任务() var reader = fs.createReadStream('/tmp/1.iso'); // 创建一个写入流 var writer = fs.createWriteStream('/tmp/1.iso'); // 磁盘: 7200转 6100转 转速越快 读写越快 资源消耗更大 fs.stat('/tmp/1.iso', function (err, stats) { if (stats) { var readTotal = 0; reader.on('data', function(chunk) { // chunk是一个buffer(字节数组) writer.write(chunk, function (err) { console.log('写 进度:' + ((readTotal += chunk.length) / stats.size * 100) + '%'); }); }); reader.on('end', function() { // 没有了 }); } }); ``` ##使用pipe 看api文档