Node.js 文件夾目錄結(jié)構(gòu)創(chuàng)建實(shí)例代碼
第一次接觸NodeJS的文件系統(tǒng)就被它的異步的響應(yīng)給搞暈了,后來(lái)發(fā)現(xiàn)NodeJS判斷文件夾是否存在和創(chuàng)建文件夾是還有同步方法的,但是還是想嘗試使用異步的方法去實(shí)現(xiàn)。
使用的方法:
fs.exists(path, callback);
fs.mkdir(path, [mode], callback);
實(shí)現(xiàn)文件夾目錄結(jié)構(gòu)的創(chuàng)建代碼實(shí)現(xiàn)如下:
//創(chuàng)建文件夾 function mkdir(pos, dirArray,_callback){ var len = dirArray.length; console.log(len); if( pos >= len || pos > 10){ _callback(); return; } var currentDir = ''; for(var i= 0; i <=pos; i++){ if(i!=0)currentDir+='/'; currentDir += dirArray[i]; } fs.exists(currentDir,function(exists){ if(!exists){ fs.mkdir(currentDir,function(err){ if(err){ console.log('創(chuàng)建文件夾出錯(cuò)!'); }else{ console.log(currentDir+'文件夾-創(chuàng)建成功!'); mkdir(pos+1,dirArray,_callback); } }); }else{ console.log(currentDir+'文件夾-已存在!'); mkdir(pos+1,dirArray,_callback); } }); } //創(chuàng)建目錄結(jié)構(gòu) function mkdirs(dirpath,_callback) { var dirArray = dirpath.split('/'); fs.exists( dirpath ,function(exists){ if(!exists){ mkdir(0, dirArray,function(){ console.log('文件夾創(chuàng)建完畢!準(zhǔn)備寫入文件!'); _callback(); }); }else{ console.log('文件夾已經(jīng)存在!準(zhǔn)備寫入文件!'); _callback(); } }); }
首先把需要?jiǎng)?chuàng)建的一個(gè)目錄結(jié)構(gòu)存放到一個(gè)數(shù)組里面,然后主要采用深搜的思想去實(shí)現(xiàn)(深度為數(shù)組的長(zhǎng)度)。
以上這篇Node.js 文件夾目錄結(jié)構(gòu)創(chuàng)建實(shí)例代碼就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- nodejs實(shí)現(xiàn)遍歷文件夾并統(tǒng)計(jì)文件大小
- Node.js查找當(dāng)前目錄下文件夾實(shí)例代碼
- Node.js 使用遞歸實(shí)現(xiàn)遍歷文件夾中所有文件
- Node.JS 循環(huán)遞歸復(fù)制文件夾目錄及其子文件夾下的所有文件
- nodejs遍歷文件夾下并操作HTML/CSS/JS/PNG/JPG的方法
- Nodejs實(shí)現(xiàn)多文件夾文件同步
- 對(duì)node通過(guò)fs模塊判斷文件是否是文件夾的實(shí)例講解
- 利用node 判斷打開的是文件 還是 文件夾的實(shí)例
- Node.js 去掉種子(torrent)文件里的邪惡信息
- node.js中fs文件系統(tǒng)目錄操作與文件信息操作
- nodejs實(shí)現(xiàn)獲取本地文件夾下圖片信息功能示例
相關(guān)文章
npm?install?-g?@vue/cli常見(jiàn)問(wèn)題解決匯總
這篇文章主要給大家介紹了關(guān)于npm?install?-g?@vue/cli常見(jiàn)問(wèn)題解決的相關(guān)資料,文中通過(guò)實(shí)例代碼將解決的方式介紹的非常詳細(xì),對(duì)遇到這個(gè)問(wèn)題的朋友具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-08-08Nodejs監(jiān)控事件循環(huán)異常示例詳解
這篇文章主要給大家介紹了關(guān)于Nodejs監(jiān)控事件循環(huán)異常的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Nodejs具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09使用nodejs連接mySQL寫接口全過(guò)程(增刪改查)
這篇文章主要給大家介紹了關(guān)于使用nodejs連接mySQL寫接口(增刪改查)的相關(guān)資料,MySQL是一種常用的關(guān)系型數(shù)據(jù)庫(kù),它與Node.js的結(jié)合可以提供強(qiáng)大的數(shù)據(jù)存儲(chǔ)和檢索功能,需要的朋友可以參考下2023-12-12Node.js調(diào)用fs.renameSync報(bào)錯(cuò)(Error: EXDEV, cross-device link not
這篇文章主要介紹了Node.js調(diào)用fs.renameSync報(bào)錯(cuò)(Error: EXDEV, cross-device link not permitted),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-12-12Node.js操作MongoDB數(shù)據(jù)庫(kù)實(shí)例分析
這篇文章主要介紹了Node.js操作MongoDB數(shù)據(jù)庫(kù),結(jié)合實(shí)例形式分析了node.js連接MongoDB數(shù)據(jù)庫(kù)以及增刪改查等相關(guān)操作技巧,需要的朋友可以參考下2020-01-01使用Node.js搭建Vue項(xiàng)目的詳細(xì)步驟
Vue.js 是一款流行的 JavaScript 框架,而 Node.js 提供了一個(gè)強(qiáng)大的運(yùn)行環(huán)境,兩者的結(jié)合使得開發(fā)者可以輕松構(gòu)建現(xiàn)代化的前端項(xiàng)目,本文將介紹如何使用 Node.js 搭建一個(gè)基本的 Vue 項(xiàng)目,需要的朋友可以參考下2023-12-12