最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

我所需要是將運(yùn)營給的文件夾中每個(gè)文件都復(fù)制到某個(gè)文件夾中(test),然后取test中所有文件進(jìn)行解析。開始的時(shí)候本人崩著能吃苦耐勞的精神,每次都是復(fù)制粘貼,可是這是容易出錯(cuò)不說,關(guān)鍵我們是個(gè)程序員啊,就應(yīng)該用程序員的方式來解決嘛。有些同志會(huì)說這很簡單啊 找到'E:819數(shù)據(jù)819'這個(gè)文件夾,將它內(nèi)部的每個(gè)文件夾讀出來組成一個(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),開始我也是圖省事就這樣寫了(把運(yùn)營同事給的文件夾中所有文件復(fù)制到我的test目錄中),可是mmp后來發(fā)現(xiàn)有的文件會(huì)有多重文件夾的嵌套

 

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

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ù)制
}
}

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

 

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

總結(jié)

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

相關(guān)文章

  • node.js實(shí)現(xiàn)為PDF添加水印的示例代碼

    node.js實(shí)現(xiàn)為PDF添加水印的示例代碼

    這篇文章主要介紹了node.js實(shí)現(xiàn)為PDF添加水印的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Nodejs搭建wss服務(wù)器教程

    Nodejs搭建wss服務(wù)器教程

    這篇文章主要為大家詳細(xì)介紹了Nodejs搭建wss服務(wù)器的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 詳解如何在NodeJS應(yīng)用程序中處理多個(gè)API請求

    詳解如何在NodeJS應(yīng)用程序中處理多個(gè)API請求

    NodeJS默認(rèn)是異步的,這意味著它已經(jīng)能夠同時(shí)處理多個(gè)請求,但它只適用于I/O操作,如HTTP請求、文件系統(tǒng)操作、數(shù)據(jù)庫查詢、實(shí)時(shí)聊天應(yīng)用等,在處理CPU密集型任務(wù)時(shí),可能需要很長時(shí)間,這就是為什么NodeJS提供了一些我們將在下面介紹的特定包
    2023-12-12
  • Node.js實(shí)現(xiàn)登陸注冊功能

    Node.js實(shí)現(xiàn)登陸注冊功能

    這篇文章主要為大家詳細(xì)介紹了Node.js實(shí)現(xiàn)登陸注冊功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 關(guān)于npm?i幾種常見命令的區(qū)別詳解

    關(guān)于npm?i幾種常見命令的區(qū)別詳解

    npm(Node.js Package Manager)是一個(gè)Node.js的包管理工具,用來解決Node.js代碼部署問題,下面這篇文章主要給大家介紹了關(guān)于npm?i幾種常見命令的那點(diǎn)事,需要的朋友可以參考下
    2023-03-03
  • 從零開始學(xué)習(xí)Node.js系列教程四:多頁面實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的client端和server端示例

    從零開始學(xué)習(xí)Node.js系列教程四:多頁面實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的client端和server端示例

    這篇文章主要介紹了Node.js多頁面實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的client端和server端,結(jié)合具體實(shí)例形式分析了nodejs客戶端提交與服務(wù)端處理實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • npm一鍵安裝Python以及node-sass依賴環(huán)境的方法

    npm一鍵安裝Python以及node-sass依賴環(huán)境的方法

    Node-sass是一個(gè)庫,它將Node.js綁定到LibSass,下面這篇文章主要給大家介紹了關(guān)于npm一鍵安裝Python以及node-sass依賴環(huán)境的相關(guān)資料,文中還介紹了安裝node-sass報(bào)錯(cuò)Python環(huán)境問題避坑指南,需要的朋友可以參考下
    2022-09-09
  • VSCode使用npm的詳細(xì)步驟

    VSCode使用npm的詳細(xì)步驟

    為了避免造輪子,我們有時(shí)候會(huì)用到其他人的勞動(dòng)成果,比如一些優(yōu)秀的框架,比如Express,我們直接使用NPM下載下來就可以用了,降低開發(fā)成本和時(shí)間,這篇文章主要給大家介紹了關(guān)于VSCode使用npm的詳細(xì)步驟,需要的朋友可以參考下
    2022-09-09
  • 使用nodejs?+?koa?+?typescript?集成和自動(dòng)重啟的問題

    使用nodejs?+?koa?+?typescript?集成和自動(dòng)重啟的問題

    這篇文章主要介紹了nodejs?+?koa?+?typescript?集成和自動(dòng)重啟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 淺談NodeJS中require路徑問題

    淺談NodeJS中require路徑問題

    學(xué)習(xí)Nodejs也是出于對這個(gè)新產(chǎn)物的好奇,而且有兩個(gè)重要項(xiàng)目也需要他的支持,所以要好好學(xué)學(xué)這個(gè)新語種。在nodejs中,模塊大概可以分為核心模塊和文件模塊。核心模塊是被編譯成二進(jìn)制代碼,引用的時(shí)候只需require表示符即可
    2015-05-05

最新評(píng)論

墨江| 旌德县| 东乌珠穆沁旗| 富蕴县| 抚远县| 金溪县| 巴林右旗| 久治县| 霍城县| 梁河县| 岳阳县| 姜堰市| 松溪县| 瓦房店市| 塔城市| 九龙县| 华阴市| 大安市| 土默特右旗| 通道| 屏山县| 印江| 冀州市| 中牟县| 湖北省| 平潭县| 平江县| 临沂市| 朝阳区| 墨脱县| 陇川县| 县级市| 井研县| 同江市| 环江| 乐业县| 娄底市| 子洲县| 宁河县| 汤阴县| 会同县|