你的位置:首页 > Java教程

[Java教程]Node.js 文件夹目录结构创建


第一次接触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();    }  });}

 

首先把需要创建的一个目录结构存放到一个数组里面,然后主要采用深搜的思想去实现(深度为数组的长度)。

参考文档如下:
http://www.cnblogs.com/gaojun/p/4159488.html#_Toc406152896