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)