亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node.JS中怎么利用循環遞歸復制文件夾目錄

發布時間:2021-07-21 10:57:19 來源:億速云 閱讀:154 作者:Leah 欄目:web開發

本篇文章為大家展示了Node.JS中怎么利用循環遞歸復制文件夾目錄,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

實現代碼一:

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中怎么利用循環遞歸復制文件夾目錄,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

尖扎县| 汝城县| 沐川县| 搜索| 涞水县| 盘山县| 普兰店市| 固阳县| 于田县| 措勤县| 方城县| 台中县| 桃源县| 塘沽区| 沈丘县| 札达县| 固安县| 新巴尔虎右旗| 鞍山市| 文登市| 贵港市| 安康市| 客服| 英吉沙县| 开原市| 南皮县| 阿拉尔市| 宜兰市| 田阳县| 株洲县| 凌云县| 安义县| 顺义区| 特克斯县| 中方县| 永吉县| 班玛县| 济源市| 德令哈市| 栾川县| 天水市|