18

を使用してNode.jsいます。

フォルダが空かどうかを確認したいですか? 1 つのオプションはfs.readdirを使用することですが、これは一連のファイル全体を配列にロードします。フォルダーに 10000 個を超えるファイルがあります。フォルダが空かどうかを確認するためだけにファイル名をロードしても意味がありません。そのため、代替ソリューションを探しています。

4

6 に答える 6

13

fsノードのネイティブモジュールhttp://nodejs.org/api/fs.html#fs_fs_readdir_path_callbackを使用するのはどうですか。readdirおよび関数は、含まれているすべてのファイル名 (およびreaddirSyncを除く) の配列を提供します。長さが の場合、ディレクトリは空です。...0

于 2014-11-06T11:16:34.737 に答える
12

これは醜いハックですが、とにかくそこに捨てます。fs.rmdirディレクトリを呼び出すだけです。コールバックが を含むエラーを返した場合code: 'ENOTEMPTY'、それは空ではありませんでした。成功した場合は、呼び出しfs.mkdirて置き換えることができます。この解決策はおそらく、スクリプトが最初にディレクトリを作成したものであり、適切な権限を持っている場合などにのみ意味があります.

于 2013-01-29T08:24:03.757 に答える
0

グロビングはどうですか?すなわち、exists myDir/*。ノード (TOW v0.10.15) によってすぐにサポートされるわけではありませんが、minimatchのように、多数のモジュールがそれを行います。

于 2013-08-06T19:43:41.320 に答える