1. ホーム
  2. javascript

[解決済み] Node.jsでディレクトリに存在するすべてのファイル名のリストを取得する方法は?

2022-03-16 13:48:48

質問

Node.jsを使って、あるディレクトリに存在するすべてのファイル名のリストを取得しようとしています。 私は、ファイル名の配列である出力が欲しいです。どのようにこれを行うことができますか?

どのように解決するのですか?

を使用することができます。 fs.readdir または fs.readdirSync メソッドを使用します。 fs はNode.jsのコアに含まれているので、何もインストールする必要はありません。

fs.readdir

const testFolder = './tests/';
const fs = require('fs');

fs.readdir(testFolder, (err, files) => {
  files.forEach(file => {
    console.log(file);
  });
});

fs.readdirSync

const testFolder = './tests/';
const fs = require('fs');

fs.readdirSync(testFolder).forEach(file => {
  console.log(file);
});

2つのメソッドの違いは、最初のメソッドが非同期であることです。したがって、読み込み処理が終了したときに実行されるコールバック関数を提供する必要があります。

後者は同期式で、ファイル名の配列を返しますが、読み込み処理が終了するまで、それ以降のコードの実行は停止されます。