zoukankan      html  css  js  c++  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

  • 相关阅读:
    [转载]centos 6.4中git如何正常显示中文
    [转载] 在Linux中,开机自动运行普通用户的脚本程序
    elasticsearch中的filter与aggs
    GET和POST的区别
    Java NIO读书笔记2
    Java NIO读书笔记
    java之并发
    java中参数传递
    java中final关键字
    Java类的初始化过程及清理
  • 原文地址:https://www.cnblogs.com/chenjianxiang/p/5651436.html
Copyright © 2011-2022 走看看