nodejs: mkdirs 递归创建目录
nodejs里面的所有文件操作我们很显然地都会选择异步方式。
nodejs对于文件的基本操作果然是很基本的。例如我们想创建一个二级目录:/abc/def,使用fs.mkdir必须先判断/abc,存在,才继续创建/abc/def。这样几个一层层的callback,必要会影响代码的美观性(^_^,写代码也是一门艺术)。 于是乎有了一下通过递归对fs.mkdir和path.exists的封装,得到的目录创建 辅助函数:mkdirs
// 创建所有目录
var mkdirs = module.exports.mkdirs = function(dirpath, mode, callback) {path.exists(dirpath, function(exists) {if(exists) {callback(dirpath);} else {//尝试创建父目录,然后再创建当前目录mkdirs(path.dirname(dirpath), mode, function(){fs.mkdir(dirpath, mode, callback);});}});
};
看,是不是漂亮了许多?
有爱
^_^,希望文本对你有用。
转载于:https://www.cnblogs.com/fengmk2/archive/2011/03/10/nodejs-mkdirs.html
nodejs: mkdirs 递归创建目录相关推荐
- Java 递归创建目录
使用 File 类的 mkdirs() 实现递归创建目录 完整代码 import java.io.File;public class Main {public static void main(Str ...
- Java 目录操作一(递归创建目录、删除目录、判断目录是否为空、判断文件是否隐藏、获取目录大小、在指定目录中查找文件)
递归创建目录 import java.io.File;public class Main {public static void main(String[] args) {String directo ...
- lua中清空目录和递归创建目录
lua中的 lfs.mkdir lfs.rmdir只能针对单个目录,且lfs.rmdir不能清空文件夹 于是我想到了使用os.execute 递归创建目录如下 os.execute("mkd ...
- php 递归创建目录、递归删除非空目录、迭代创建目录
递归创建目录 方法一 1 function mk_dir($path){ 2 if(is_dir($path)){ //参数本身是一个目录 3 return true; 4 } 5 6 if(is_d ...
- linux C传入路径递归创建目录和文件接口实现
本文封装了C 传入路径递归创建目录和文件接口实现,文末有提供示例代码: eg:传入./dir1/dir2/dir3/dir4/file0 可自动在当前目录创建dir1/dir2/dir3/dir4/四 ...
- python递归创建目录
os.mkdir()可以创建指定的目录,但如果其上一级目录不存在,则无法创建成功. os.makedirs()则可以实现递归创建目录的功能.
- python递归创建目录_Node.js和Python使用递归查看目录文件和创建目录
1. 查看目录文件: 1.1 Node实现: let fs = require('fs'); let path = require('path'); let filePath = path.resol ...
- java mkdirs linux_Java创建目录和多级目录
error:linux报错没有那个文件或目录 一.Java创建目录(mkdir) 创建单层级目录.可以用于linux服务器. import java.io.File;public static voi ...
- mkdirp——递归创建目录及其子目录
如果要创建目录A并创建目录A的子目录B,没有用-p参数的情况下mkdir会逐个创建目录(mkdir A; mkdir A/B); 加上参数-p就可以直接创建2个目录mkdir -p A/B( 如果目录 ...
最新文章
- 生信小白的福音——免费在线分析扩增子数据SILVAngs
- Linux Shell下”/dev/null 21“相关知识说明
- jQuery使用(十五):when()方法的使用
- java将HTML文件转化为pdf文件,如何使用Java将HTML网页转换为PDF文件
- 你知道应聘上一份机器学习的工作需要哪些条件吗?
- Flink之Watermark滑动窗口案例
- JavaScript中this指针的绑定规则
- Linux printf()占位符
- ImportError: cannot import name ‘abs‘
- 信号与系统思维导图框图(更新)
- Canvas API 详解
- 【毕业设计】 基于STM32的人体红外测温枪温度采集系统
- 牛顿莱布尼茨计算机公式,牛顿莱布尼茨公式
- littleVGL总结
- CSS限制字数,超出部份显示点点点...
- 经典电影台词系列【3】——无间道
- untiy 移除一个组件
- python内存持续增长_Python 进程内存增长解决方案
- git代码库pull报错:error: Your local changes to the following files would be overwritten by merge
- 人月神话(一)The Mythical Man-Month