1

Google で検索すると、この SO サイトでは、結果はFileUtils.listFilesAndDirs()Apache Commons IO のメソッドで表示されます。

しかし、この方法ではサブフォルダーに再帰的に移動することはありません。再帰的なファイルのリストが必要です。

Commons IO でそれを行うにはどうすればよいでしょうか?

PS:

それを行うためのネイティブな方法は、ここでFile.listFiles()解決されたように、JDK によってネイティブにサポートされているものを使用することです。

4

1 に答える 1

5

を使用できますFileUtils.listFiles(File base, String[] extensions, boolean recursive)

およびに設定recursiveされたすべてのファイルを取得するには。trueextensionsnull

 FileUtils.listFiles(basePath, null, true);

または、 の他のオーバーライドを使用して、FileUtils.listFilesより詳細な検索パラメータを指定できます。

ファイルだけでなく、ファイルとディレクトリの両方を検索する場合は、

 FileUtils.listFilesAndDirs(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter)

詳しくはこちらをご覧ください。

  • 引数はdirFilter、検索が再帰的に行われるディレクトリを設定します。すべてのサブディレクトリを再帰するには、 を使用しますTrueFileFilter.INSTANCE。まったく再帰しないようにするには、単に base null.

  • 引数はfileFilter、検索で返されるファイルとディレクトリを選択します。それらすべてを返すには、 を使用しますTrueFileFilter.INSTANCE

呼び出しの例

FileUtils.listFilesAndDirs(basePath, TrueFileFilter.INSTANCE, TrueFileFilter.INSTANCE)
于 2015-07-04T12:03:56.490 に答える