亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

nodejs文件夾深層復(fù)制功能

 更新時(shí)間:2019年09月03日 09:43:26   作者:java_Android  
這篇文章主要介紹了nodejs文件夾深層復(fù)制功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

前段時(shí)間接到領(lǐng)導(dǎo)要求,運(yùn)營(yíng)那邊會(huì)時(shí)不時(shí)的給我一些.html文件,讓我呢把里面的某些東西給解析出來(lái)插入到數(shù)據(jù)庫(kù)。本來(lái)就是解析dom元素,然后插入,可是有點(diǎn)麻煩的是運(yùn)營(yíng)給我的文件都是多層級(jí)的:比如下面的:

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

fs.readdir('E:/819數(shù)據(jù)/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));
      })
    })
  })
})

這就是上面的代碼實(shí)現(xiàn),開(kāi)始我也是圖省事就這樣寫(xiě)了(把運(yùn)營(yíng)同事給的文件夾中所有文件復(fù)制到我的test目錄中),可是mmp后來(lái)發(fā)現(xiàn)有的文件會(huì)有多重文件夾的嵌套

 

這時(shí)候就不能在一層的一層的判斷了,萬(wàn)一運(yùn)營(yíng)給的嵌套10層,總不能為了每個(gè)文件夾的復(fù)制寫(xiě)一串代碼吧,這里只能使用遞歸來(lái)解析了。

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

這里沒(méi)有用ts來(lái)寫(xiě),可能看上去有些凌亂,但是都寫(xiě)了注釋,相信聰明的你一定看得懂。執(zhí)行完代碼后,復(fù)制就完成了,大功告成。

 

完全按照預(yù)想的結(jié)果,現(xiàn)在發(fā)現(xiàn),即使我們是前端程序員,會(huì)點(diǎn)nodejs,還是蠻有用的,可以增強(qiáng)自己的成就感

總結(jié)

以上所述是小編給大家介紹的nodejs文件夾深層復(fù)制功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

  • 優(yōu)化Node.js Web應(yīng)用運(yùn)行速度的10個(gè)技巧

    優(yōu)化Node.js Web應(yīng)用運(yùn)行速度的10個(gè)技巧

    這篇文章主要介紹了優(yōu)化Node.js Web應(yīng)用運(yùn)行速度的10個(gè)技巧,本文講解了從并行、異步、緩存、gzip 壓縮、客戶端渲染等等技巧,需要的朋友可以參考下
    2014-09-09
  • node.js中的url.resolve方法使用說(shuō)明

    node.js中的url.resolve方法使用說(shuō)明

    這篇文章主要介紹了node.js中的url.resolve方法使用說(shuō)明,本文介紹了url.resolve的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js中如何合并兩個(gè)復(fù)雜對(duì)象詳解

    Node.js中如何合并兩個(gè)復(fù)雜對(duì)象詳解

    下面這篇文章主要給大家介紹了在Node.js中如何合并兩個(gè)復(fù)雜對(duì)象的方法,文中給出了詳細(xì)的示例代碼,相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友可以參考,下面來(lái)一起看看吧。
    2016-12-12
  • Node事件的監(jiān)聽(tīng)與觸發(fā)的實(shí)現(xiàn)

    Node事件的監(jiān)聽(tīng)與觸發(fā)的實(shí)現(xiàn)

    Node.js是由事件驅(qū)動(dòng)的,每個(gè)任務(wù)都可以當(dāng)作一個(gè)事件來(lái)處理,本文主要介紹了Node事件的監(jiān)聽(tīng)與觸發(fā)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • nodejs 中的讀取文件fs模塊示例詳解

    nodejs 中的讀取文件fs模塊示例詳解

    這篇文章主要為大家介紹了nodejs中的讀取文件fs模塊示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • visual studio配置node.js開(kāi)發(fā)的圖文教程

    visual studio配置node.js開(kāi)發(fā)的圖文教程

    在進(jìn)行node開(kāi)發(fā)時(shí),使用visual studio作為開(kāi)發(fā)工具是非常常見(jiàn)的選擇,本文主要介紹了visual studio配置node.js開(kāi)發(fā)的圖文教程,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • Centos7 中安裝 Node.js v4.4.4

    Centos7 中安裝 Node.js v4.4.4

    我一直對(duì)學(xué)習(xí)Node.js比較感興趣。這是一個(gè)Java平臺(tái)的服務(wù)器端編程 ,它允許開(kāi)發(fā)人員在服務(wù)器編寫(xiě)Java代碼,并且有許多CentOS的用戶正努力學(xué)習(xí)這個(gè)語(yǔ)言的開(kāi)發(fā)環(huán)境。這正是我想做這個(gè)教程的目的。
    2016-11-11
  • nodejs爬蟲(chóng)抓取數(shù)據(jù)亂碼問(wèn)題總結(jié)

    nodejs爬蟲(chóng)抓取數(shù)據(jù)亂碼問(wèn)題總結(jié)

    這篇文章主要給大家總結(jié)了下nodejs爬蟲(chóng)抓取數(shù)據(jù)亂碼問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2015-07-07
  • 最新評(píng)論