实现代码一:
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 })
文章到此结束,希望有帮助的朋友多多支持移动技术网。
如对本文有疑问, 点击进行留言回复!!
MFC的静态库.lib、动态库.dll(包含引入库.lib)以及Unicode库示例
CTF 刷题记录(一) 白云新闻搜索(手动与自动化SQL注入)
javascript如何使用函数random来实现课堂随机点名方法详解
网友评论