下面小編就為大家?guī)?lái)一篇Node.js 文件夾目錄結(jié)構(gòu)創(chuàng)建實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。
第一次接觸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)備寫(xiě)入文件!');
_callback();
});
}else{
console.log('文件夾已經(jīng)存在!準(zhǔn)備寫(xiě)入文件!');
_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è)參考
2025國(guó)考·省考課程試聽(tīng)報(bào)名