玩转Node.js - 05. LS 过滤器

Posted PhiloChou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了玩转Node.js - 05. LS 过滤器相关的知识,希望对你有一定的参考价值。

准备工作:
1. 来到我们的工作目录$ cd ~/nodejs
2. 如果还没有工作目录,请按下面方式新增

$ cd ~
$ mkdir nodejs
$ cd nodejs

目标:打印目录下符合指定后缀的文件

本次我们将使用fs.readdir()来读取目录,并使用path模块来分析文件名。

下面开始实际操作:

1. 新建文件node05.js

$ vim node05.js

2. 使用require方法引入fs模块

var fs = require('fs');

3. 使用require方法引入path模块

var path = require('path');

4. 使用fs.readdir异步读取目录,并计算行数

fs.readdir(process.argv[2], function (err, list) 
    list.forEach(function (file) 
        if (path.extname(file) === '.' + process.argv[3])
            console.log(file);
        
    );
);

保存退出。

fs.readdir()方法接收两个参数:第一个是路径,第二个是回调函数:

function callback (err, list)  /* ... */ 

其中list是一个数字,包含每个文件的文件名(字符串形式)。

path.extname(file)方法可以返回文件的后缀

5. 运行,请替换下面的”<目录>”为您自己的,”<后缀>”不要带”.”号

node node05.js <目录> <后缀>

结果会输出目录下指定后缀的文件名


本篇代码

文件:~/nodejs/node05.js

var fs = require('fs');
var path = require('path');

fs.readdir(process.argv[2], function (err, list) 
    list.forEach(function (file) 
        if (path.extname(file) === '.' + process.argv[3])
            console.log(file);
        
    );
);

参考资料:
File System Node.js v0.12.7 Manual & Documentation
learnyounode - FILTERED LS

以上是关于玩转Node.js - 05. LS 过滤器的主要内容,如果未能解决你的问题,请参考以下文章

深入浅出Node.js - 玩转进程

玩转Node.js - 01. Hello World!

玩转Node.js-1. 新手上路之CentOS 下安装Node.js开发环境

实战系列之 Node.js 玩转 Java

玩转Node.js - 04. 第一个异步 I/O!

玩转Node.js - 03. 第一个I/O!