編寫一個程序來打印出指定目錄下的文件列表,并且以特定的文件名擴展名來過濾這個列表。命令行提供兩個參數(shù)提,第一個是所給的文件目錄路徑(如:path/to/dir),第二個參數(shù)則是需要過濾出來的文件的擴展名。
舉個例子:如果第二個參數(shù)是 txt,那么需要過濾出那些擴展名為 .txt的文件。
注意,第二個參數(shù)將不會帶有開頭的”.”。
需要在終端中打印出這個被過濾出來的列表,每一行一個文件。另外,必須使用異步的I/O 操作。
fs.readdir() 方法接收兩個參數(shù):第一個是一個路徑,第二個則是回調(diào)函數(shù),這個回調(diào)函數(shù)會有如下特征:
function callback (err, list) { /* ... */ }
這里的 list 是一個數(shù)組,它所包含的元素是每個文件的文件名(字符串形式)。
node 自帶的 path 模塊也很有用,特別是它那個 extname 方法。
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)
})
})
更多建議: