第一次接触NodeJS的文件系统就被它的异步的响应给搞晕了,后来发现NodeJS判断文件夹是否存在和创建文件夹是还有同步方法的,但是还是想尝试使用异步的方法去实现。
使用的方法:
fs.exists(path, callback);
fs.mkdir(path, [mode], callback);
实现文件夹目录结构的创建代码实现如下:
//创建文件夹 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('创建文件夹出错!'); }else{ console.log(currentDir+'文件夹-创建成功!'); mkdir(pos+1,dirArray,_callback); } }); }else{ console.log(currentDir+'文件夹-已存在!'); mkdir(pos+1,dirArray,_callback); } }); } //创建目录结构 function mkdirs(dirpath,_callback) { var dirArray = dirpath.split('/'); fs.exists( dirpath ,function(exists){ if(!exists){ mkdir(0, dirArray,function(){ console.log('文件夹创建完毕!准备写入文件!'); _callback(); }); }else{ console.log('文件夹已经存在!准备写入文件!'); _callback(); } }); }
首先把需要创建的一个目录结构存放到一个数组里面,然后主要采用深搜的思想去实现(深度为数组的长度)。
以上这篇Node.js 文件夹目录结构创建实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。