准备工作:
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