Node.js の標準ライブラリとして、 File System モジュールという POSIX 関数のシンプルなラッパーが提供されているので、これの readdir 関数を使うのがスタンダード。
⇒ File System Node.js v5.0.0 Manual & Documentation
同期処理できる readdirSync 関数と、非同期の readdir 関数が用意されている。以下、サンプルコード。
var path = ".";
var fs = require("fs");
// 同期的にディレクトリ内にあるファイル名の一覧を配列で取得
// "." と ".." は含まれない
var files = fs.readdirSync(path);
files.forEach(function(file){
console.log(file);
});
// 非同期にディレクトリ内にあるファイル名の一覧を配列で取得
// "." と ".." は含まれない
// 取得後は指定したコールバック関数が呼び出される
fs.readdir(path, function(err, files){
for(var i=0; i<files.length; i++){
console.log(files[i]);
}
});
ちなみに、C言語の readdir(3) で同じことをやるのはこっち
⇒ [ヅ] 指定したディレクトリ内のファイルを表示するプログラム (2003-04-01)
tags: node.js javascript
Posted by NI-Lab. (@nilab)