Node.js 文件夹目录结构创建实例代码


Posted in Javascript onJuly 08, 2016

第一次接触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 文件夹目录结构创建实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
实现复选框全选/全不选切换
Dec 23 Javascript
用js实现上传图片前的预览(TX的面试题)
Aug 14 Javascript
js图片延迟加载的实现方法及思路
Jul 22 Javascript
JavaScript中的null和undefined区别介绍
Jan 01 Javascript
javaScript如何跳出多重循环break、continue
Sep 01 Javascript
JS button按钮实现submit按钮提交效果
Nov 01 Javascript
整理一下常见的IE错误
Nov 18 Javascript
vue.js声明式渲染和条件与循环基础知识
Jul 31 Javascript
BootstrapTable加载按钮功能实例代码详解
Sep 22 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
Jun 12 Javascript
简单使用webpack打包文件的实现
Oct 29 Javascript
typescript配置alias的详细步骤
Aug 12 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
Jul 07 #Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
Jul 07 #Javascript
简单实现js页面切换功能
Jan 10 #Javascript
JavaScript作用域示例详解
Jul 07 #Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
Jul 07 #Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
Jul 07 #Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
Jul 07 #Javascript
You might like
php getimagesize 上传图片的长度和宽度检测代码
2010/05/15 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
phpMyAdmin安装并配置允许空密码登录
2015/07/04 PHP
PHP封装的MSSql操作类完整实例
2016/05/26 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
jQuery实现简单日期格式化功能示例
2017/09/19 jQuery
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
2018/03/23 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
JavaScript实现身份证验证代码实例
2019/08/26 Javascript
vue中 数字相加为字串转化为数值的例子
2019/11/07 Javascript
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
Unicode和Python的中文处理
2017/03/19 Python
python3 模拟登录v2ex实例讲解
2017/07/13 Python
PyChar学习教程之自定义文件与代码模板详解
2017/07/17 Python
python如何求解两数的最大公约数
2018/09/27 Python
django基于restframework的CBV封装详解
2019/08/08 Python
Python字典的概念及常见应用实例详解
2019/10/30 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
2020/03/19 Python
如何利用python进行时间序列分析
2020/08/04 Python
Python如何使用input函数获取输入
2020/08/06 Python
学习Python需要哪些工具
2020/09/04 Python
html5 更新图片颜色示例代码
2014/07/29 HTML / CSS
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
四好少年事迹材料
2014/01/12 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
生产文员岗位职责
2014/04/05 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
风之谷观后感
2015/06/11 职场文书