Node.js 文件夾目錄結(jié)構(gòu)創(chuàng)建實(shí)例代碼
第一次接觸NodeJS的文件系統(tǒng)就被它的異步的響應(yīng)給搞暈了,后來發(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)建文件夾出錯!');
}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();
}
});
}
首先把需要創(chuàng)建的一個目錄結(jié)構(gòu)存放到一個數(shù)組里面,然后主要采用深搜的思想去實(shí)現(xiàn)(深度為數(shù)組的長度)。
以上這篇Node.js 文件夾目錄結(jié)構(gòu)創(chuàng)建實(shí)例代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- 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)多文件夾文件同步
- 對node通過fs模塊判斷文件是否是文件夾的實(shí)例講解
- 利用node 判斷打開的是文件 還是 文件夾的實(shí)例
- Node.js 去掉種子(torrent)文件里的邪惡信息
- node.js中fs文件系統(tǒng)目錄操作與文件信息操作
- nodejs實(shí)現(xiàn)獲取本地文件夾下圖片信息功能示例
相關(guān)文章
npm?install?-g?@vue/cli常見問題解決匯總
這篇文章主要給大家介紹了關(guān)于npm?install?-g?@vue/cli常見問題解決的相關(guān)資料,文中通過實(shí)例代碼將解決的方式介紹的非常詳細(xì),對遇到這個問題的朋友具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-08-08
Nodejs監(jiān)控事件循環(huán)異常示例詳解
這篇文章主要給大家介紹了關(guān)于Nodejs監(jiān)控事件循環(huán)異常的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Nodejs具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Node.js調(diào)用fs.renameSync報錯(Error: EXDEV, cross-device link not
這篇文章主要介紹了Node.js調(diào)用fs.renameSync報錯(Error: EXDEV, cross-device link not permitted),非常具有實(shí)用價值,需要的朋友可以參考下2017-12-12
Node.js操作MongoDB數(shù)據(jù)庫實(shí)例分析
這篇文章主要介紹了Node.js操作MongoDB數(shù)據(jù)庫,結(jié)合實(shí)例形式分析了node.js連接MongoDB數(shù)據(jù)庫以及增刪改查等相關(guān)操作技巧,需要的朋友可以參考下2020-01-01
使用Node.js搭建Vue項(xiàng)目的詳細(xì)步驟
Vue.js 是一款流行的 JavaScript 框架,而 Node.js 提供了一個強(qiáng)大的運(yùn)行環(huán)境,兩者的結(jié)合使得開發(fā)者可以輕松構(gòu)建現(xiàn)代化的前端項(xiàng)目,本文將介紹如何使用 Node.js 搭建一個基本的 Vue 項(xiàng)目,需要的朋友可以參考下2023-12-12

