Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1145字,纯文字阅读大概需要2分钟。
内容图文
实现代码一:
var fs = require('fs') var path = require('path') var copyFile = function(srcPath, tarPath, cb) { var rs = fs.createReadStream(srcPath) rs.on('error', function(err) { if (err) { console.log('read error', srcPath) } cb && cb(err) }) var ws = fs.createWriteStream(tarPath) ws.on('error', function(err) { if (err) { console.log('write error', tarPath) } cb && cb(err) }) ws.on('close', function(ex) { cb && cb(ex) }) rs.pipe(ws) }
复制目录及其子目录
var copyFolder = function(srcDir, tarDir, cb) { fs.readdir(srcDir, function(err, files) { var count = 0 var checkEnd = function() { ++count == files.length && cb && cb() } if (err) { checkEnd() return } files.forEach(function(file) { var srcPath = path.join(srcDir, file) var tarPath = path.join(tarDir, file) fs.stat(srcPath, function(err, stats) { if (stats.isDirectory()) { console.log('mkdir', tarPath) fs.mkdir(tarPath, function(err) { if (err) { console.log(err) return } copyFolder(srcPath, tarPath, checkEnd) }) } else { copyFile(srcPath, tarPath, checkEnd) } }) }) //为空时直接回调 files.length === 0 && cb && cb() }) }
使用时
copyFolder('...', '....', function(err) { if (err) { return } //continue })
文章到此结束,希望有帮助的朋友多多支持脚本之家。
内容总结
以上是互联网集市为您收集整理的Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件全部内容,希望文章能够帮你解决Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。