Node常用模块之wrench

wrench -- 递归文件、文件夹操作一体化解决方案


1.安装

npm install wrench

2.使用

var wrench = require('wrench'),
util = require('util');

3.同步操作

//递归创建目录
wrench.mkdirSyncRecursive(dir, 0777);

//递归删除目录 
wrench.rmdirSyncRecursive('my_directory_name', failSilently);

//递归读取目录内容
wrench.readdirSyncRecursive('my_directory_name');

//递归的修改目录的权限 
wrench.chmodSyncRecursive('my_directory_name', 0755);

//修改目录的所有者
wrench.chownSyncRecursive("directory", uid, gid);

//拷贝目录
wrench.copyDirSyncRecursive('', '', {
   forceDelete: bool, //是否覆盖现有的目录
   excludeHiddenUnix: bool, // 是否复制隐藏的Unix文件
   preserveFiles: bool,// 如果覆盖的东西和文件已经存在,保持现有的
   preserveTimestamps: bool, // Preserve the mtime and atime when copying files 
   inflateSymlinks: bool, // Whether to follow symlinks or not when copying files 
   filter: regexpOrFunction,//一个过滤器来匹配文件;如果匹配,什么也不做。
   whitelist: bool, // if true every file or directory which doesn't match filter will be ignored 
   include: regexpOrFunction, //包含过滤器
   exclude: regexpOrFunction //排除过滤器
});

//读取文件
var f = new wrench.LineReader('x.txt');
while(f.hasNextLine()) {
   util.puts(f.getNextLine());
}

4.异步操作

//递归地读取目录内容
var files = [];
wrench.readdirRecursive('my_directory_name', function(error, curFiles) {
     //...
});

wrench.copyDirRecursive(srcDir, newDir, {
       forceDelete: bool 
}, callbackfn);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,633评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,473评论 19 139
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,933评论 9 468
  • 十月的哈尔滨在你这个南方人眼里,已然是寒冬,但是在我心里,我仍愿把它当做夏天。我拒绝把衣柜里的夏装收起,拒绝换上棉...
    应天白鸟阅读 2,271评论 1 2
  • 仁者不忧,智者不惑,勇者不惧。 这句话是从大学人生美学老师那儿听来的,二个人组成了“仁”,“仁”者爱人,会爱人,也...
    吾思故吾在丶阅读 3,265评论 1 0