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

溫馨提示×

溫馨提示×

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

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

nodejs文件夾深層復制功能

發布時間:2020-10-16 16:35:07 來源:腳本之家 閱讀:200 作者:java_Android 欄目:web開發

前段時間接到領導要求,運營那邊會時不時的給我一些.html文件,讓我呢把里面的某些東西給解析出來插入到數據庫。本來就是解析dom元素,然后插入,可是有點麻煩的是運營給我的文件都是多層級的:比如下面的:

nodejs文件夾深層復制功能

nodejs文件夾深層復制功能

我所需要是將運營給的文件夾中每個文件都復制到某個文件夾中(test),然后取test中所有文件進行解析。開始的時候本人崩著能吃苦耐勞的精神,每次都是復制粘貼,可是這是容易出錯不說,關鍵我們是個程序員啊,就應該用程序員的方式來解決嘛。有些同志會說這很簡單啊 找到'E:819數據819'這個文件夾,將它內部的每個文件夾讀出來組成一個數組,在循環遍歷里面的每個文件進行復制就可以了啊

fs.readdir('E:/819數據/819','utf-8',(err,fileList)=>{
  fileList.forEach((file,index)=>{
    let url = from+file+'/'
    fs.readdir(from+file,'utf-8',(error,singleFile)=>{
      singleFile.forEach((fileInner,i)=>{
        fs.writeFileSync(`${to}${name++}.html`, fs.readFileSync(url+fileInner));
      })
    })
  })
})

這就是上面的代碼實現,開始我也是圖省事就這樣寫了(把運營同事給的文件夾中所有文件復制到我的test目錄中),可是mmp后來發現有的文件會有多重文件夾的嵌套

nodejs文件夾深層復制功能 

這時候就不能在一層的一層的判斷了,萬一運營給的嵌套10層,總不能為了每個文件夾的復制寫一串代碼吧,這里只能使用遞歸來解析了。

let name = 1
copyItDigui('E:/819數據/819','E:/test/');
function copyItDigui(from, to) {
searchFile(from, to);
}
function searchFile(from, to){
let stat = fs.lstatSync(from);
if(stat.isDirectory()){//判斷是文件夾就繼續下面的遍歷,否則直接進行文件的復制和重名了
  fs.readdir(from,'utf-8',(err,fileList)=>{
    fileList.forEach((file,index)=>{
      searchFile(from+"/"+file,to)
    })
  })
}else{
  fs.writeFileSync(`${to}${name++}.html`, fs.readFileSync(from));//這里是執行文件的復制,下面的是大文件的復制
  //fs.writeFileSync(to, fs.readFileSync(from));
  //fs.createReadStream(src).pipe(fs.createWriteStream(dst));大文件復制
}
}

這里沒有用ts來寫,可能看上去有些凌亂,但是都寫了注釋,相信聰明的你一定看得懂。執行完代碼后,復制就完成了,大功告成。

nodejs文件夾深層復制功能 

完全按照預想的結果,現在發現,即使我們是前端程序員,會點nodejs,還是蠻有用的,可以增強自己的成就感

總結

以上所述是小編給大家介紹的nodejs文件夾深層復制功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

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

AI

蒲江县| 望城县| 科技| 神农架林区| 平江县| 清流县| 句容市| 农安县| 舟曲县| 衡南县| 灵寿县| 湘潭县| 皋兰县| 龙游县| 玉溪市| 永丰县| 陆河县| 马关县| 于都县| 红安县| 沅江市| 罗定市| 五莲县| 丽水市| 高安市| 新绛县| 客服| 石景山区| 庆城县| 信阳市| 淮南市| 富蕴县| 茂名市| 平阴县| 灵武市| 博爱县| 刚察县| 眉山市| 莱西市| 蕉岭县| 旬邑县|